我想知道如何使用PHP獲取SQL數據庫中每個字段的數據類型; 我想用這個數據類型在SOLR中創建一些文檔。我如何知道使用PHP的數據庫字段的數據類型?
例如:
if (datatype == int) then "[field_name] + _i".
所以,如果我有場bedrooms
和數據類型是integer
,在SOLR我將保存本場是bedrooms_i
。
我想知道如何使用PHP獲取SQL數據庫中每個字段的數據類型; 我想用這個數據類型在SOLR中創建一些文檔。我如何知道使用PHP的數據庫字段的數據類型?
例如:
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 COLUMN S來獲取表中所有字段/列的名稱,數據類型等。
是否有其他功能可以做到這一點? ,因爲在我的查詢中,我加入了更多的表,所以如果有任何可以從查詢結果中獲取數據類型的函數,它會幫助我很多。 順便說一句,感謝您的回答。 – Praditha
爲了論證的緣故,我將假設MySQL。
SELECT COLUMN_NAME, DATA_TYPE, {ETC...}
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'your_database' AND
TABLE_NAME = 'your_table'
我可以用這個查詢結果嗎?因爲我已經加入了多個表格,然後我需要使用該查詢獲得的所有字段的數據類型。感謝你的回答,。 – Praditha
爲什麼數據庫字段的名稱基於數據類型? –
哪個數據庫? MySQL的? –
Steve Lewis:是的,我用過MySql Oli:我認爲不是這樣,我會用它作爲SOLR,所以solr中的字段名稱是基於數據庫中的數據類型的.. 感謝您的答案, 。 – Praditha