php - 选择空表但仍获取列名

标签 php mysql pdo

我想在一个空表上执行 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

有人知道我是否可以尝试另一种方法吗?

最佳答案

添加到什么w00 answered , 有一个甚至不需要虚拟表的解决方案

SELECT tbl.* 
FROM (SELECT 1) AS ignore_me 
    LEFT JOIN your_table AS tbl 
        ON 1 = 1 
LIMIT 1 

在 MySQL 中,您可以将 WHERE 1 = 1 更改为 WHERE 1

关于php - 选择空表但仍获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854097/

相关文章:

php - 解析2个表的数据

php - 使用 MySQL 中的数据时,在某些情况下不会绘制 Highcharts(在数据库查询完成之前创建的页面元素?) PHP/MySQL

mysql - 按 GROUP 限制而不省略重复项?

php - 为 MySQL 解析一个大的 XML 文件

php - 在 Colorbox 灯箱中处理表单

php - 修改数组中指定键的每一个值

PHP PDO 未命名绑定(bind)变量与标记数量不匹配

php - PHP 静态匿名函数真的有效吗?

zend-framework - Yii 的灵活性

php - 使用 php 从字符串中获取子域