有没有办法检索不返回数据的查询的列名? 此查询的结果将为空。 如果没有结果,有没有办法找到列名?
请注意,我了解使用DESCRIBE的解决方案,并从information_schema.columns中选择column_name,其中table_name =' person&#39 ;; 但我需要一个更灵活的解决方案,以适应这些多列查询。
请注意,我仍在使用原始的PHP MySQL扩展(因此没有MySQLi,也没有PDO)。
答案 0 :(得分:2)
答案 1 :(得分:0)
你应该,
从COLUMN_NAME
INFORMATION_SCHEMA
选择COLUMNS
。TABLE_SCHEMA
TABLE_NAME
=' yourdb'
和<meta property="og:image" content="<?php echo meta_og_image(); ?>"/>
=&#39; yourtablename&#39;;
答案 2 :(得分:0)
我不确定它是否会让你满意,但你可以这样做
SELECT *, COUNT(*) FROM table;
如果查询为空并且您将能够访问所有列,它将返回null
个值(您可以忽略的最后一列除外)。这不是正确的方法,从INFORMATION_SCHEMA
中选择名称将是更好的解决方案。
请注意,结果已汇总,如果有结果,您需要使用GROUP BY
来获得更多结果。
答案 3 :(得分:0)
这样的作品行吗?
select myQuery.*
from (select 1) as ignoreMe
left join (select * from myTable where false) as myQuery on true
如果myQuery
中没有数据,则通过左连接到常量表,数据库将返回1行空值。 (而且,如果有数据,它将不会影响输出,因为它是单行的叉积。)