例如,查询表结构的语句为:DESC tablename在查询的结果中发现该表中有几个字段类型TYPE=date,那么,此时如何用语句查询出那些TYPE=date的字段信息?并不是想查出具体值。前提是:我只知道这个表名=“tablename”,我想查出这个表中有几个字段是date类型的。然后拿着这些查出的date类型的字段名称再去表中查出对应的所有记录。
使用mysql_fetch_field以下是例子.mysql_fetch_field() 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。 对象的属性为: name - 列名 table - 该列所在的表名 max_length - 该列最大长度 not_null - 1,如果该列不能为 NULL primary_key - 1,如果该列是 primary key unique_key - 1,如果该列是 unique key multiple_key - 1,如果该列是 non-unique key numeric - 1,如果该列是 numeric blob - 1,如果该列是 BLOB type - 该列的类型 unsigned - 1,如果该列是无符号数 zerofill - 1,如果该列是 zero-filled =========<?phpmysql_connect('localhost:3306', $user, $password) or die("Could not connect: " . mysql_error());mysql_select_db("database");$result = mysql_query("select * from table") or die("Query failed: " . mysql_error());/* get column metadata */$i = 0;while ($i < mysql_num_fields($result)) { echo "Information for column $i:<br />\n"; $meta = mysql_fetch_field($result); if (!$meta) { echo "No information available<br />\n"; } echo "<pre>blob: $meta->blobmax_length: $meta->max_lengthmultiple_key: $meta->multiple_keyname: $meta->namenot_null: $meta->not_nullnumeric: $meta->numericprimary_key: $meta->primary_keytable: $meta->tabletype: $meta->typeunique_key: $meta->unique_keyunsigned: $meta->unsignedzerofill: $meta->zerofill</pre>"; $i++;}mysql_free_result($result);?>