2009-09-25 99 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