Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Документация MySQL
 
 
 

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


8.4.3.80 mysql_fetch_row() Содержание 8.4.3.90 mysql_field_seek()

8.4.3.85 mysql_field_count()

unsigned int mysql_field_count(MYSQL *mysql)

При использовании более ранней, чем 3.22.24, версии MySQL необходимо вместо этого выражения использовать следующее: unsigned int mysql_num_fields(MYSQL *mysql).

8.4.3.86 Описание

Возвращает количество столбцов для последнего запроса в данном соединении.

Обычно эту функцию используют в случае, когда функция mysql_store_result() возвращает NULL (и, следовательно, нет ни одного указателя для результирующего набора). В этом случае можно вызвать функцию mysql_field_count() для определения, может ли функция mysql_store_result() выдать непустой результат. Это дает возможность данной клиентской программе выполнить соответствующее действие без уточнения, был ли данный запрос командой вида SELECT (или похожей на SELECT). Приведенный ниже пример иллюстрирует, как это можно сделать.

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

8.4.3.87 Возвращаемые значения

Беззнаковое целое число, представляющее количество полей в результирующем наборе.

8.4.3.88 Ошибки

Нет.

8.4.3.89 Пример

MYSQL_RES *result;
unsigned int num_fields;
unsigned int num_rows;

if (mysql_query(&mysql,query_string))
{
	// ошибка
}
else // запрос выполнен, обработка возвращенных им данных
{
	result = mysql_store_result(&mysql);
	if (result) // содержит строки
	{
		num_fields = mysql_num_fields(result);
		// извлечение строк, затем вызов mysql_free_result(result)
	}
	else // mysql_store_result() не вернула ничего; может ли что-либо вернуть?
	{
		if(mysql_field_count(&mysql) == 0)
		{
			// запрос не возвращает данные
			// (запрос не был вида SELECT)
			num_rows = mysql_affected_rows(&mysql);
		}
		else // mysql_store_result() должна была вернуть данные
		{
			fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
		}
	}
}

Альтернатива состоит в замене вызова функции mysql_field_count(&mysql) вызовом функции mysql_errno(&mysql). В этом случае можно проверить, была ли данная команда вида SELECT, непосредственно по ошибке от mysql_store_result(), а не делать логический вывод по величине функции mysql_field_count().


8.4.3.80 mysql_fetch_row() Содержание 8.4.3.90 mysql_field_seek()

 
 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS