加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在空表上选择但仍然获取列名

发布时间:2020-12-13 14:09:58 所属栏目:PHP教程 来源:网络整理
导读:我想在一个空表上做一个SELECT,但我仍然希望得到一个包含所有列名的记录.我知道还有其他方法可以从表中获取列名,但我想知道是否可以使用某种SELECT查询. 我知道这个在我直接在MySQL中运行时有效: SELECT * FROM cf_pagetree_elements WHERE 1=0; 但我正在使
我想在一个空表上做一个SELECT,但我仍然希望得到一个包含所有列名的记录.我知道还有其他方法可以从表中获取列名,但我想知道是否可以使用某种SELECT查询.

我知道这个在我直接在MySQL中运行时有效:

SELECT * FROM cf_pagetree_elements WHERE 1=0;

但我正在使用PHP PDO(FETCH_CLASS).这只是给我一个空对象而不是一个包含所有列名的行(带有空值).因此,出于某种原因,查询不适用于PDO FETCH_CLASS.

$stmt = $this->db->prepare ( $sql );
$stmt->execute ( $bindings );
$result = $stmt->fetchAll ( PDO::FETCH_CLASS,$class );
print_r($result); // Empty object... I need an object with column names

任何人都知道我是否可以尝试另一种方法?

对于发布了关于SHOW COLUMNS和信息方案的其他答案.
OP清楚地说:“我知道还有其他方法可以从表中获取列名,但我想知道是否可以使用某种SELECT查询.”

学着阅读.

无论如何,回答你的问题;不,你不能.您无法从空表中选择一行.从空表中甚至不是具有空值的行.

但是,您可以申请这样做.

创建一个名为’dummy’的附加表,其中只有一列和一行:

表:假人

dummy_id: 1

就这样.现在你可以这样做一个select语句:

SELECT * FROM dummy LEFT OUTER JOIN your_table ON 1=1

这将始终返回一行.但它也包含’dummy_id’列.然而,你可以忽略那个当然,并使用你想要的(空)数据.

再说一遍,这只是一个使用SELECT语句的技巧.没有默认的方法来完成这项工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读