我想知道如何使用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'