Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Реализация mysql_fetch_assoc в PHP
 
 автор: GeorgeIV   (21.11.2007 в 10:47)   письмо автору
 
 

Попытался найти в исходниках PHP реализацию функции mysql_fetch_assoc и не нашел. В списке функций в клиентской библиотеке присутствует только mysql_fetch_row. Не подскажет ли кто, где реализована функция?

   
 
 автор: cheops   (21.11.2007 в 11:05)   письмо автору
 
   для: GeorgeIV   (21.11.2007 в 10:47)
 

А вы исходные коды какой библиотеки смотрите? libmysql? - это не PHP-ная библиотека, это библиотека MySQL, которая создана на C и соответственно ассоциативных массивов не имеет, реализацию mysql_fetch_assoc() следует искать в коде PHP - в библиотеке libmysql её нет, ибо C.

   
 
 автор: GeorgeIV   (21.11.2007 в 11:54)   письмо автору
 
   для: cheops   (21.11.2007 в 11:05)
 

Если внимательно прочитать вопрос, там написано - в исходниках PHP!

   
 
 автор: Unkind   (21.11.2007 в 13:01)   письмо автору
 
   для: 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().

   
 
 автор: GeorgeIV   (21.11.2007 в 13:32)   письмо автору
 
   для: Unkind   (21.11.2007 в 13:01)
 

Вот так странно работает майкрософтовский поиск...

Как я предполагал, все остальные виды выборок - это оболочка вокруг mysql_fetch_row, и вероятно из-за этого на больших данных (~1,5 млн записей) идет большое различие в скорости получения результата по mysql_fetch_row и mysql_fetch_assoc

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования