MYSQL Эта структура представляет дескриптор на одно подключение базы данных. Это используется почти для всех функций MySQL. MYSQL_RES Эта структура представляет результат запроса, который возвращает строки (SELECT, SHOW, DESCRIBE, EXPLAIN). Информация, возвращенная из запроса, названа набором результатов в остатках от этого раздела. MYSQL_ROW Это тип-безопасное представление одной строки данных. Это в настоящее время выполнено как массив рассчитанных байтовых строк. Вы не можете обрабатывать их как строки с нулевым символом в конце, если значения поля могут содержать двоичные данные потому, что такие значения могут содержать нулевые символы в себе. Строки получены, вызывая функцию mysql_fetch_row(). MYSQL_FIELD Эта структура содержит информацию относительно поля, например, имя поля, тип и размер. Члены описаны более подробно ниже. Вы можете получать структуры MYSQL_FIELD для каждого поля, неоднократно вызывая mysql_fetch_field(). Значения полей не являются частью этой структуры, они содержатся в структуре MYSQL_ROW. MYSQL_FIELD_OFFSET Это тип-безопасное представление смещения в списке полей MySQL. Используются в вызове mysql_field_seek(). Смещения представляют собой номера полей внутри строки, начиная с нуля. my_ulonglong Тип, используемый для числа строк и для mysql_affected_rows(), mysql_num_rows() и mysql_insert_id(). Этот тип обеспечивает диапазон от 0 до 1.84e19. На некоторых системах попытка печатать значение типа my_ulonglong не будет работать. Чтобы отпечатать такое значение, преобразуйте его к типу unsigned long и используйте формат вывода %lu. Например: printf (Number of rows: %lu\n", (unsigned long) mysql_num_rows(result));
Структура MYSQL_FIELD содержит члены, перечисленные ниже:
char * name Имя поля, как строка с нулевым символом в конце. char * table Имя таблицы, содержащей это поле, если это не расчетное поле. Для расчетных полей, значение table представлено пустой строкой. char * def Значение по умолчанию этого поля, как строка с нулевым символом в конце. Это установлено только, если Вы используете mysql_list_fields(). enum enum_field_types type Тип поля. Значение type может быть один из следующего:
Значение Type | Используемый тип |
FIELD_TYPE_TINY | TINYINT |
FIELD_TYPE_SHORT | SMALLINT |
FIELD_TYPE_LONG | INTEGER |
FIELD_TYPE_INT24 | MEDIUMINT |
FIELD_TYPE_LONGLONG | BIGINT |
FIELD_TYPE_DECIMAL | DECIMAL или NUMERIC |
FIELD_TYPE_FLOAT | FLOAT |
FIELD_TYPE_DOUBLE | DOUBLE или REAL |
FIELD_TYPE_TIMESTAMP | TIMESTAMP |
FIELD_TYPE_DATE | DATE |
FIELD_TYPE_TIME | TIME |
FIELD_TYPE_DATETIME | DATETIME |
FIELD_TYPE_YEAR | YEAR |
FIELD_TYPE_STRING | Строка (CHAR или VARCHAR) |
FIELD_TYPE_BLOB | BLOB или TEXT (используйте max_length, чтобы определить максимальную длину поля) |
FIELD_TYPE_SET | SET |
FIELD_TYPE_ENUM | ENUM |
FIELD_TYPE_NULL | NULL |
FIELD_TYPE_CHAR | Не рекомендуется: используйте FIELD_TYPE_TINY |