|
|
|
| Попытался найти в исходниках PHP реализацию функции mysql_fetch_assoc и не нашел. В списке функций в клиентской библиотеке присутствует только mysql_fetch_row. Не подскажет ли кто, где реализована функция? | |
|
|
|
|
|
|
|
для: GeorgeIV
(21.11.2007 в 10:47)
| | А вы исходные коды какой библиотеки смотрите? libmysql? - это не PHP-ная библиотека, это библиотека MySQL, которая создана на C и соответственно ассоциативных массивов не имеет, реализацию mysql_fetch_assoc() следует искать в коде PHP - в библиотеке libmysql её нет, ибо C. | |
|
|
|
|
|
|
|
для: cheops
(21.11.2007 в 11:05)
| | Если внимательно прочитать вопрос, там написано - в исходниках PHP! | |
|
|
|
|
|
|
|
для: GeorgeIV
(21.11.2007 в 11:54)
| | Если внимательно посмотреть в исходниках, то можно найти это:
/* {{{ proto array mysql_fetch_assoc(resource result)
Fetch a result row as an associative array */
PHP_FUNCTION(mysql_fetch_assoc)
{
php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQL_ASSOC, 1, 0);
}
/* }}} */
|
Прямо в этом же файле (php_mysql.c) есть php_mysql_fetch_hash(). Копировать сюда не стану, так как довольно большой код.
Странно только то, почему Вы нашли mysql_fetch_row() и не нашли mysql_fetch_assoc(). | |
|
|
|
|
|
|
|
для: Unkind
(21.11.2007 в 13:01)
| | Вот так странно работает майкрософтовский поиск...
Как я предполагал, все остальные виды выборок - это оболочка вокруг mysql_fetch_row, и вероятно из-за этого на больших данных (~1,5 млн записей) идет большое различие в скорости получения результата по mysql_fetch_row и mysql_fetch_assoc | |
|
|
|