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