有没有办法检索不返回数据的查询的列名?
我正在使用(有些)复杂的查询,例如:
SELECT
i.*,
ic1.permalink as category_permalink,
ic1.title as category_title,
ic1.sid as category_sid,
ic2.permalink as hook_category_permalink,
ic2.title as hook_category_title,
ic2.sid as hook_category_sid
FROM item i
LEFT JOIN item_to_item_category itic ON i.sid = itic.item_sid
LEFT JOIN item_category ic1 ON ic1.sid = itic.item_category_sid
LEFT JOIN item_category ic2 ON ic1.hook = ic2.sid
WHERE i.uid = ''
LIMIT 0,1
由于WHERE i.uid =“”,此查询的结果将为空.当没有结果时,有没有办法找到列名?
请注意,我知道使用DESCRIBE的解决方案,并从information_schema.columns中选择column_name,其中table_name =’person’;但我需要一个更灵活的解决方案,以适应这些多列查询.
还请注意,我仍在使用原始的PHP MysqL扩展(因此没有MysqLi,也没有PDO).
任何人?
解决方法:
对于PDO,请尝试PDOStatement->getColumnMeta()
.对于MysqLi,有mysqli_result->fetch_fields()
,mysqli_result->fetch_field()
和mysqli_result->fetch_field_direct()
.对于MysqL,将其替换为PDO或MysqLi.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。