MySQL - 从表中获取列名并显示它们(使用PHP)

时间:2014-09-12 11:19:07

标签: php html mysql

我想从表中获取列名并显示它们,以便稍后对它们进行比较。 为了得到这些名字,我试过了:

$entry = mysqli_query($con, 'SHOW COLUMNS FROM  table');

$entry = mysqli_query($con, "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = '$db' AND TABLE_NAME = 'table'");

我不知道这是否正常运行,因为我在那里没有收到错误消息。 如果我尝试通过echo打印$ entry的内容,我会不断收到错误。 以前在我的代码中,我使用以下方式打印其他条目:

$test = mysqli_query($con, 'SELECT DISTINCT LK_Release FROM table');
while($row = mysqli_fetch_object($test))
{
echo "Releasename: " . "$row->LK_Release". "<br>";
... }

此输出适合我。 我试图输出列名:

while($row = mysqli_fetch_object($entry))
{
echo $row;
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的查询已经正确无误。但你缺乏一些东西:

while($row = mysqli_fetch_object($entry))
{
    echo $row->Field . '<br/>';
              // ^ access the objects properties
}

答案 1 :(得分:0)

以下SQL语句几乎相同:

 SELECT COLUMN_NAME
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_name = 'tbl_name'

您可以使用DESCRIBE:

DESCRIBE my_table;

或者在较新版本中,您可以使用INFORMATION_SCHEMA:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND    TABLE_NAME = 'my_table';

或者您可以使用SHOW COLUMNS:

SHOW COLUMNS FROM my_table;