Документация MySQL
8.4.3.47 Описание
Данная функция не рекомендуется. Вместо нее можно использовать функции
.
определяет, была ли данная строка последней из
прочитанных в результирующем наборе данных.
, то данный клиент получает полный набор данных за
одну операцию. В этом случае возврат
всегда
означает, что достигнут конец результирующего набора и нет необходимости в
вызове функции
. При использовании совместно с
.
С другой стороны, при использовании
для инициализации
извлечения результирующего набора, клиент получает строки набора с сервера
поочередно при повторных вызовах функции
. Поскольку в
этом процессе может возникнуть ошибка в соединении,
, полученный от
, не всегда означает что конец результата был достигнут
корректно. В этом случае вы можете использовать
, чтобы
выяснить, что же случилось.
вернет ненулевую величину, если
конец результирующего набора был достигнут, и нуль, если произошла ошибка.
Исторически сложилось так, что
. Поскольку эти функции дают одну и ту же информацию, их
использование более предпочтительно чем
, которая сейчас
выведена из употребления (в действительности они предоставляют еще больше
информации, т.к.
возвращает только булево значение, в то время
как функции обработки ошибок сообщают причину, по которой ошибка
произошла).
8.4.3.48 Возвращаемые значения
Нуль, если ошибок не произошло. Ненулевая величина, если конец
результирующего набора данных достигнут.
8.4.3.49 Ошибки
Никаких.
8.4.3.50 Пример
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// делаем что-то с данными
}
if(!mysql_eof(result)) // mysql_fetch_row() сбойнул из-за ошибки
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
mysql_query(&mysql,"SELECT * FROM some_table");
result = mysql_use_result(&mysql);
while((row = mysql_fetch_row(result)))
{
// что-то делаем с данными
}
if(mysql_errno(&mysql)) // mysql_fetch_row() сбойнул из-за ошибки
{
fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
}
Рубрики: Без рубрики |

