如何使用mysql和php获取所有列名

时间:2016-08-25 20:42:52

标签: php mysql

我试图在MySQL中获取字段的名称(即表的结构)。我正在使用PHP连接到MySQL。

这是我的疑问:

SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='database'
AND `TABLE_NAME`='Job Hunt'

这是PHP代码:

$sql = "SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='database' AND `TABLE_NAME`='Job Hunt'";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
print_r($row);

输出应为:

Array
    (
        [COLUMN_NAME] => id
        [COLUMN_NAME] => Company Name
        [COLUMN_NAME] => Address
        [COLUMN_NAME] => Date of Visit
    )

当我使用上面的代码时,结果只返回一行(或一个"列标题"):

Array
    (
        [COLUMN_NAME] => id
    )

如何获取所有列名称的数组以及我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用它来列出表格列。

SHOW COLUMNS FROM YOURTABLENAME;

OR

DESC YOURTABLENAME

在这两种方式中你可以完成你的需要,而desc也会带来相关的列属性。

修改

SELECT GROUP_CONCAT( {COLUMN_NAME {1}} {INFORMATION_SCHEMA {1}} {COLUMNS {1}} {TABLE_SCHEMA {1}} {TABLE_NAME {1}}

USE ) FROM实现它,这会将您的所有列名称分组到一个记录和一列中。

在此处查找更多聚合函数http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html