有没有办法检查mysql语法中有哪些列?
例如,
$dbh = $db->query("SELECT * FROM table");
while($row = $dbh->fetchAll(PDO::FETCH_ASSOC))
{
$row['somecolumn'];
}
例如,如果有或没有一些列,我想知道是否有一种方法可以显示我正在寻找的语法中的所有列的列表table
这样以后,我将能够检查是否有$row['fr']
或$row['food']
可以工作。
谢谢
您可以简单地检查是否 $row
包含您需要的密钥。
PHP 函数array_key_exists
会告诉你是否$row
包含你想要的键。例如,如果包含一个键,array_key_exists("fr", $row)
将返回 true 。$row
fr
如果您想查看所有键(即所有列),只需使用array_keys
; 例如:array_keys($row)
会给你所有的钥匙$row
。
或者,如果您不介意另一个 SQL 调用,您可以使用SELECT column_name FROM information_schema.columns WHERE table_name='your_table'
xdazz 的回答提及。
您可以使用INFORMATION_SCHEMA
来执行此操作,或DESCRIBE
.
查看information_schema 列文档,或查看描述语法。
您可以使用下面的 sql 为一个表选择 cloumn 名称。
SELECT
column_name
FROM
information_schema.columns
WHERE
table_name='your_table';