2011-04-28 50 views
2

請問有人請關於使用SHOW COLUMNS專門針對PHP/MySQL,因爲我沒有發現任何通過搜索使用太多的東西。mysql中獲取表的列名的語法是什麼?

我想要做的是從表中獲取所有列名稱,然後使用它們從會話中獲取正確的數據以進行更新。

我至今是:

function get_Columns($con, $table){ 

    $sql_statement = "SHOW COLUMNS FROM " . NAME_TABLE_BASE . $table ; 

    $temp = mysql_query($sql_statement) or die(mysql(error)) ; 

    return mysql_fetch_array($temp) ; 
} 
?> 

問題是,這只是返回的第一列,而不是全部。我需要改變什麼?還有什麼我可以添加到$sql_statement只獲取字段,而不是所有其他信息,如鍵類型等?

回答

3

SHOW COLUMNS ...是老校友方法。對於MySQL V5.x的安裝就可以直接查詢數據庫的INFORMATION_SCHEMA數據庫相關的數據庫/表/字段它承載什麼:

select COLUMN_NAME 
from INFORMATION_SCHEMA.COLUMNS 
where (TABLE_SCHEMA = 'your database') AND (TABLE_NAME = 'your table') 

有與該表中特定字段的數據更多的領域以及,記錄here

+0

謝謝馬克,我不知道... – bejonbee 2011-04-28 22:49:08

+0

我想我仍然有一個4.x版:( – 2011-04-28 23:45:13

+0

'選擇版本();'會告訴你 – 2011-04-29 04:18:49

2

把它放在一個while循環,以獲取其他列名

$sql_statement = "SHOW COLUMNS FROM " . NAME_TABLE_BASE . $table; 
$temp = mysql_query($sql_statement) or die(mysql(error)); 

while($row = mysql_fetch_array($temp)) { 
    print_r($row); 
} 
+0

有趣。我試着得到數組,並使用foreach,但除了第一列之外什麼都沒有。我會放棄這一點。謝謝。 – 2011-04-28 23:44:31

相關問題