Регистрация
логин
пароль
Хостинг Реселлинг хостинга VPS - Хостинг Аренда серверов Dedicated server
Хостинг:

VPS - Хостинг:

Аренда серверов:

Dedicated server:


службы мониторинга серверов

www.megastock.ru

Z-Payment
Яндекс Деньги
Moneybookers
Payment Network
Юнистрим
Contact
Сбербанк России
MasterCard
VISA
Система CONTACT
Почтовый перевод
ВТБ 24
WIRE USD EURO
Дилеры Z-PAYMENT
SMS оплата
Терминалы КИВИ
Терминалы Мульти-кассы
Терминалы ComePay
Терминалы FreeCash

Регистрация  доменов. Хостинг

Сервисы:










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

8.4.3.85 mysql_field_count()

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().






Сервисы от Prime-Hosting.Ru:













Copyright © 2008-2010
Prime Hosting
Prime Hosting. Хостинг, VPS - Хостинг, Аренда серверов, dedicated serverPrime Hosting. Хостинг, VPS - Хостинг, Аренда серверов, dedicated server:
Хостинг Реселлинг хостинга VPS - Хостинг Аренда серверов Dedicated server