2013-09-08 3 views
1

При вызове mysql_fetch_field результат имеет свойство «type». Я вижу такие вещи, как «string», который является типом PHP, но также «blob», который является типом MySQL. Есть ли авторитетный и исчерпывающий список возможных типов, возвращаемых этой функцией?Возможные значения для «type» в результате mysql_fetch_field

Документация PHP в лучшем случае расплывчата. Мне нужно знать, что я раскрываю все возможности. Мне удалось найти документацию для http://www.php.net/manual/en/function.mysql-field-type.php, которая немного лучше: «Тип возвращаемого поля будет одним из« int »,« real »,« string »,« blob »и других ...»

Он указывает мне на документацию MySQL. Там мне кажется, я хочу, чтобы я начал смотреть на файлы заголовков C, потому что все, что он говорит, это «Структура MYSQL_FIELD для текущего столбца».

+0

С [документ] (HTTP: // PHP. net/manual/en/function.mysql-fetch-field.php): Тип поля возвращает то, что PHP классифицирует данные, найденные в поле, а не как он хранится в базе данных. – undone

ответ

1

here От

сгустка - Колонка, содержащая или выражение, которое возвращает Binary длинный предмет. Это включает все столбцы типа BLOB или TEXT.

дата - столбец DATE. Выражения, возвращающие значение даты, имеют тип int, real, orstring, в зависимости от возвращаемого значения.

дата и время - столбец DATETIME. Выражения, возвращающие значение datetime, имеют тип int, real, orstring, в зависимости от возвращаемого значения.

int - Столбец, содержащий или выражение, возвращающее целочисленные данные. Сюда входят все столбцы типа INT.

null - выражение, которое возвращает NULL.

real - Столбец, содержащий или выражение, которое возвращает число с плавающей запятой. Это включает типы столбцов DECIMAL, FLOAT и DOUBLE.

строка - CHAR, ENUM, SET или VARCHAR, или выражение, которое возвращает символьные данные.

Примечание:
Даже если количество символов, возвращаемых выражением, превышает максимальную длину 255 символов для столбца CHAR/VARCHAR, возвращаемый тип является строкой, а не блобом, как и следовало ожидать.

время - TIME column. Выражения, возвращающие значение времени, имеют тип real или string, в зависимости от возвращаемого значения.

временная метка - TIMESTAMP column. Выражения, возвращающие значение временной метки, имеют тип int.

год - год колонка. Выражения, возвращающие значение года, имеют тип int.

unknown - Тип, который не соответствует ни одному типу, известному mysql_fetch_field(). Вхождение этого типа может указывать на то, что версия MySQL более поздняя, ​​чем версия PHP.


А вот из книги "PHP функции Essential Reference" под редакцией Зак Греант from the book PHP Functions Essential Reference edited by Zak Greant

0

См. http://php.net/manual/en/function.mysql-fetch-field.php, что дает некоторую полезную информацию. Я думаю, что тип будет только общим, таким как int, float, string или blob.

+0

Ваша ссылка не содержит Возможные значения для «type». Это не ответ –

0

Взято из PHP: http://php.net/manual/en/mysqli.constants.php#constantmysqli-group-flag

0 MYSQLI_TYPE_DECIMAL: Field is defined as DECIMAL 
1 MYSQLI_TYPE_CHAR: Field is defined as TINYINT. For CHAR, see MYSQLI_TYPE_STRING 
2 MYSQLI_TYPE_SHORT: Field is defined as SMALLINT 
3 MYSQLI_TYPE_LONG: Field is defined as INT 
4 MYSQLI_TYPE_FLOAT: Field is defined as FLOAT 
5 MYSQLI_TYPE_DOUBLE: Field is defined as DOUBLE 
6 MYSQLI_TYPE_NULL: Field is defined as DEFAULT NULL 
7 MYSQLI_TYPE_TIMESTAMP: Field is defined as TIMESTAMP 
8 MYSQLI_TYPE_LONGLONG: Field is defined as BIGINT 
9 MYSQLI_TYPE_INT24: Field is defined as MEDIUMINT 
10 MYSQLI_TYPE_DATE: Field is defined as DATE 
11 MYSQLI_TYPE_TIME: Field is defined as TIME 
12 MYSQLI_TYPE_DATETIME: Field is defined as DATETIME 
13 MYSQLI_TYPE_YEAR: Field is defined as YEAR 
14 MYSQLI_TYPE_NEWDATE: Field is defined as DATE 
16 MYSQLI_TYPE_BIT: Field is defined as BIT (MySQL 5.0.3 and up) 
246 MYSQLI_TYPE_NEWDECIMAL: Precision math DECIMAL or NUMERIC field (MySQL 5.0.3 and up) 
247 MYSQLI_TYPE_ENUM: Field is defined as ENUM 
248 MYSQLI_TYPE_SET: Field is defined as SET 
249 MYSQLI_TYPE_TINY_BLOB: Field is defined as TINYBLOB 
250 MYSQLI_TYPE_MEDIUM_BLOB: Field is defined as MEDIUMBLOB 
251 MYSQLI_TYPE_LONG_BLOB: Field is defined as LONGBLOB 
252 MYSQLI_TYPE_BLOB: Field is defined as BLOB 
253 MYSQLI_TYPE_VAR_STRING: Field is defined as VARCHAR 
254 MYSQLI_TYPE_STRING: Field is defined as CHAR or BINARY 
255 MYSQLI_TYPE_GEOMETRY: Field is defined as GEOMETRY