MySQL.RU .:. Одобрено лучшими российскими программистами

Справочное руководство по MySQL

8.4.6.1 Почему после успешных возвратов функции mysql_query() функция mysql_store_result() иногда возвращает NULL?

8.4.6.1 Почему после успешных возвратов функции mysql_query() функция mysql_store_result() иногда возвращает NULL?

Для функции mysql_store_result() после успешного вызова функции mysql_query() возможен возврат величины NULL. Это может означать следующее:

  • Произошел сбой в выполнении функции mallow() (например, если результирующий набор данных слишком велик).
  • Данные не могли быть прочитаны (возникла ошибка в соединении). Запрос не вернул никаких данных (например, это был запрос вида INSERT, UPDATE или DELETE).

Проверить, вернула ли данная команда не пустой результирующий набор, всегда можно с помощью вызова функции mysql_field_count(). Если функция mysql_field_count() возвращает нуль, то данный результирующий набор является пустым и последний запрос представлял собой команду, которая не возвращает результирующие величины (например, INSERT или DELETE). Если функция mysql_field_count() возвращает величину, отличную от нуля, то данная команда должна была вернуть не пустой результат (см. описание функции mysql_field_count()).

Можно протестировать описанные ситуации на ошибку, вызывая функции mysql_error() или mysql_errno().