我怎么知道数据库字段的数据类型使用PHP,


how do I know the data type of database field using PHP,.?

我想知道如何使用PHP获得SQL数据库中每个字段的数据类型;我想用这个数据类型在SOLR中创建一些文档。

例如:

if (datatype == int) then "[field_name] + _i".

那么,如果我有字段bedrooms,数据类型是integer,在SOLR中我将保存该字段为bedrooms_i

您可以使用mysql_fetch_field()来检索有关字段的元数据。

mysql_connect('localhost','user','password');
mysql_select_db('database');
$sql = "SELECT * FROM  your_table";
$result = mysql_query($sql);    
$i = 0;
while ($i < mysql_num_fields($result))
{
    $meta = mysql_fetch_field($result, $i);   
    echo "<pre>".print_r($meta,TRUE)."</pre>";
    $i++;
}

这里$meta->type将为您提供字段类型

在MySQL中,您可以使用SHOW COLUMNS来获取表中所有字段/列的名称,数据类型等

为了便于讨论,我假设MySQL.

SELECT COLUMN_NAME, DATA_TYPE, {ETC...}
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND
    TABLE_NAME = 'your_table'