2009-09-25 28 views
1

我試過這個:http://be.php.net/manual/en/function.mysql-list-fields.php,但這裏有太多的細節。PHP函數返回某個表中所有列的名稱,作爲數組

我在找的是一個返回字符串數組的函數。該數組應該只包含某個表所具有的所有列的名稱。

因此,舉例來說,如果我有這些列的表:

用戶名|電子郵件|性別|年齡|已婚| number_of_children |街道|省

我應該得到同樣的事情,如果我這樣做:

$vars = array('username','email','gender','age','married','number_of_children','street','province'); 

是否有一個PHP函數已經可以做到這一點?還是我需要一些我自己的SQL語句?

回答

4

你也可以做

$query = mysql_query("SELECT * FROM `table`"); 
$result = mysql_fetch_assoc($query); 
$keys = array_keys($result); 

$keys現在將包含所有的列名的,因爲他們是$result數組的數組鍵。

+0

如果您只想要列名稱,則最好在該查詢的末尾追加一個「限制0」,這樣您就不會將所有數據放在列名的旁邊 – 2009-09-25 23:06:39

1

我認爲沒有直接的PHP函數會做你想做的。

您可以:

  • 使用該函數丟棄不需要的結果。
  • 使用SQL查詢在INFORMATION_SCHEMA

    SELECT COLUMN_NAME已從INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '數據庫' AND TABLE_NAME = '表'

  • 使用MySQL特定的 '遞減表' 或「秀表'SQL句子列

1

Theres a MySQL Query,which returns the columns names asa result set。

SHOW COLUMNS FROM tablename 
相關問題