【问题标题】:PDO fetchAll() returns empty arrayPDO fetchAll() 返回空数组
【发布时间】:2025-12-02 13:50:01
【问题描述】:

我正在使用 PDO 执行一个简单的查询,没有绑定参数。我已经直接针对我的数据库对其进行了测试,它执行干净,返回了预期的结果。但是,当我将它插入我的 PDO 对象并调用 fetchAll() 时,它会返回一个空数组。

$query = 'SELECT count(*) as mycount FROM mytable';
$mysql = $connection->prepare($query);
$result = $mysql->fetchAll();

print_r($result);

预期结果:

array
(
    [mycount] => 8
)

实际结果:

array
(
)

任何想法可能导致此问题,或如何解决此问题?

【问题讨论】:

    标签: php mysql pdo


    【解决方案1】:

    首先你需要:

    $mysql->execute();
    

    那你就可以了

    $result = $mysql->fetchAll();
    

    【讨论】:

      【解决方案2】:

      您已准备好,但尚未执行该语句。你需要

      $mysql->execute();
      

      第一

      【讨论】:

      • 补充:如果不需要绑定参数,用PDO::query代替准备语句...