8.4. Интерфейс C для MySQL
8.4.6. Основные вопросы и проблемы в использовании интерфейса C
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().