Форум → Программирование → PHP для идиотов → Mysql Fulltext Search
Mysql Fulltext Search
Страницы: ← Предыдущая страница →
-
-
26 мая 2011 г. 13:31, спустя 3 минуты 7 секунд
creeonix, магента не завязана жестко на мускл.
она поддерживает и другие субд.
да неужели?/** * Inserts a table multiply rows with specified data. * * @param mixed $table The table to insert data into. * @param array $data Column-value pairs or array of Column-value pairs. * @return int The number of affected rows. */ public function insertMultiple($table, array $data) { $row = reset($data); // support insert syntaxes if (!is_array($row)) { return $this->insert($table, $data); } // validate data array $cols = array_keys($row); $insertArray = array(); foreach ($data as $row) { $line = array(); if (array_diff($cols, array_keys($row))) { throw new Varien_Exception('Invalid data for insert'); } foreach ($cols as $field) { $line[] = $row[$field]; } $insertArray[] = $line; } unset($row); return $this->insertArray($table, $cols, $insertArray); } /** * Insert array to table based on columns definition * * @param string $table * @param array $columns * @param array $data * @return int */ public function insertArray($table, array $columns, array $data) { $vals = array(); $bind = array(); $columnsCount = count($columns); foreach ($data as $row) { if ($columnsCount != count($row)) { throw new Varien_Exception('Invalid data for insert'); } $line = array(); if ($columnsCount == 1) { if ($row instanceof Zend_Db_Expr) { $line = $row->__toString(); } else { $line = '?'; $bind[] = $row; } $vals[] = sprintf('(%s)', $line); } else { foreach ($row as $value) { if ($value instanceof Zend_Db_Expr) { $line[] = $value->__toString(); } else { $line[] = '?'; $bind[] = $value; } } $vals[] = sprintf('(%s)', join(',', $line)); } } // build the statement $columns = array_map(array($this, 'quoteIdentifier'), $columns); $sql = sprintf("INSERT INTO %s (%s) VALUES%s", $this->quoteIdentifier($table, true), implode(',', $columns), implode(', ', $vals)); // execute the statement and return the number of affected rows $stmt = $this->query($sql, $bind); $result = $stmt->rowCount(); return $result; }
а какие еще субд поддерживают вставку insert into foo (a, b) values (1, 2), (3, 4)? -
26 мая 2011 г. 13:36, спустя 4 минуты 37 секунд
Абырвалг, ты мне начинаешь нравиться :-))
давай, тащи, я за кофеСапожник без сапог -
-
26 мая 2011 г. 14:21, спустя 43 минуты 3 секунды
Абырвалг, прошу прощения, этот билд еще не вышел.
сейчас он уже готов и с коро его увидит мир.
я просто к нему привык, так как у нас в транке он уже есть давненько, и мне на чуток показалось что уже это есть в паблике. -
31 мая 2011 г. 4:34, спустя 4 дня 14 часов 13 минут
NRG, если мне не изменяет память, то у вас на собеседованиях задают вопросы только по MySQL.
Мало того, система именно заточена под работу с MySQL, если бы это было не так, было бы более полное использование возможностей современных SQL движков. Часть того, что вы делаете в коде было бы _разумно_ вынести на сторону SQL-сервера.
PS: Я в старых билдах видел драйвера для других баз данных, но как я понимаю никто и никогда ими не пользовался. -
31 мая 2011 г. 5:53, спустя 1 час 18 минут 36 секунд
NRG, если мне не изменяет память, то у вас на собеседованиях задают вопросы только по MySQL.
смотря в какой отдел и на какую должность тебя берут.Мало того, система именно заточена под работу с MySQL, если бы это было не так, было бы более полное использование возможностей современных SQL движков.
спасибо Кэп.
я уже писал выше о том, что скоро выйдет новый билд, который не будет ограничиваться совместимостью лишь с одной СУБД. -
31 мая 2011 г. 5:57, спустя 3 минуты 52 секунды
а какие еще субд поддерживают вставку insert into foo (a, b) values (1, 2), (3, 4)?
PostgreSQL?о_О
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!