当调用mysql_fetch_field时,结果具有一个名为"type“的属性。我看到了"string“这样的东西,它是PHP类型,也是"blob",它是MySQL类型。是否有此函数返回的可能类型的权威和详尽的列表?
PHP文档充其量是模糊的。我要知道我在掩盖一切可能性。我确实找到了一些http://www.php.net/manual/en/function.mysql-field-type.php文档,这些文档做得更好:“返回的字段类型将是"int”、"The“、"string”、"blob“等.”
它向我指出了MySQL文档。在这里,它似乎希望我开始查看C头文件,因为它只表示“当前列的MYSQL_FIELD结构”。
发布于 2014-11-27 06:40:25
来自这里
包含或返回二进制长OBject的表达式的blob列。这包括所有BLOB或文本类型列。
日期栏。返回日期值的表达式类型为int、the或orstring,具体取决于返回的值。
日期时间-日期时间列。返回日期时间值的表达式类型为int、the或orstring,这取决于返回的值。
包含或返回整数数据的表达式的int列。这包括所有INT类型列。
返回NULL的空表达式。
包含返回浮点数的实列或表达式。这包括十进制、浮点和双列类型。
string - CHAR、ENUM、SET或VARCHAR列,或返回字符数据的表达式。
注意:
即使表达式返回的字符数超过CHAR/VARCHAR列的255个字符的最大长度,返回的类型也是字符串,而不是blob,正如您可能预期的那样。
时间-时间列。返回时间值的表达式类型为the或string,具体取决于返回的值。
时间戳-时间戳列。返回时间戳值的表达式为int类型。
年度专栏。返回年份值的表达式为int类型。
未知类型-不匹配mysql_fetch_field()已知的任何类型的类型。这种类型的出现可能表明MySQL的版本比PHP更新。
这里来自Zak Greant编辑的"PHP函数基本参考“一书。

发布于 2014-12-11 11:26:58
摘自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发布于 2013-09-08 18:52:53
参见http://php.net/manual/en/function.mysql-fetch-field.php,它提供了一些有用的信息。我认为这种类型只会是常见的类型,如int、float、string或blob。
https://stackoverflow.com/questions/18687389
复制相似问题