2

我正在尝试调试为什么以下查询不返回结果集。当我尝试使用 print_r 调试它以查看此 sql 返回的内容时,我得到的是 sql 语句本身而不是结果集。有人可以帮我解释为什么这不返回结果集吗?

编辑:我正在使用 PHP 数据对象的查询功能

  $query = "select * from categories order by categoryID";

  $categories = $db->query($query);

  print_r($categories);
4

2 回答 2

5

因为该方法返回一个PDOStatement对象,如手册中所述,而不是关联数组。您必须首先从该对象中获取结果集。

您可以使用fetchAll()在关联数组(或根据您的口味的任何其他 PDO 获取方法)中获取所有结果:

print_r($categories->fetchAll());

当您遇到此类问题时,始终建议您阅读手册。

于 2012-11-16T11:40:17.607 回答
0
$sql = "select * from categories order by categoryID";

$query = $db->query($sql);

$categories = $query->fetchAll();

echo "<pre>";
print_r($categories);
echo "</pre>";
于 2012-11-16T11:41:49.127 回答