unsigned int mysql_num_fields(MYSQL_RES *result)
          
или
unsigned int mysql_num_fields(MYSQL *mysql) 
          
            Вторая форма не работает на версии MySQL 3.22.24 или более новой. Вместо
            аргумента в параметре MYSQL* необходимо использовать выражение unsigned int mysql_field_count(MYSQL *mysql) 
          
Описание
Возвращает количество столбцов в результирующем наборе.
            Следует отметить, что можно получить искомое количество столбцов с помощью
            указателя или на результирующий набор, или на дескриптор соединения.
            Дескриптор соединения необходимо использовать, если функции
            mysql_store_result() или mysql_use_result() возвратили NULL (и,
            следовательно, отсутствует указатель результирующего набора). В этом
            случае можно вызвать функцию mysql_field_count()для определения, может ли
            функция mysql_store_result()выдать непустой результат. Это дает
            возможность данной клиентской программе выполнить соответствующее действие
            без уточнения, был ли данный запрос командой вида SELECT (или похожей на
            SELECT). В приведенном ниже примере иллюстрируется, как это можно сделать.
          
Возвращаемые значения
Беззнаковое целое число, представляющее количество полей в результирующем наборе.
Ошибки
Нет.
Пример
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_errno(&mysql))
		{
			fprintf(stderr, "Error: %s\n", mysql_error(&mysql));
		}
		else if (mysql_field_count(&mysql) == 0)
		{
			// запрос не возвращает данные
			// (запрос не был вида SELECT)
			num_rows = mysql_affected_rows(&mysql);
		}
	}
}
            Альтернатива (если известно, что данный запрос должен вернуть
            результирующий набор) состоит в замене вызова функции mysql_errno(&mysql) 
            на проверку, равна ли 0 функция mysql_field_count(&mysql). Это может
            случиться, только если что-нибудь происходило не так.