我正在尝试调试为什么以下查询不返回结果集。当我尝试使用 print_r 调试它以查看此 sql 返回的内容时,我得到的是 sql 语句本身而不是结果集。有人可以帮我解释为什么这不返回结果集吗?
编辑:我正在使用 PHP 数据对象的查询功能
$query = "select * from categories order by categoryID";
$categories = $db->query($query);
print_r($categories);
因为该方法返回一个PDOStatement
对象,如手册中所述,而不是关联数组。您必须首先从该对象中获取结果集。
您可以使用fetchAll()
在关联数组(或根据您的口味的任何其他 PDO 获取方法)中获取所有结果:
print_r($categories->fetchAll());
当您遇到此类问题时,始终建议您阅读手册。
$sql = "select * from categories order by categoryID";
$query = $db->query($sql);
$categories = $query->fetchAll();
echo "<pre>";
print_r($categories);
echo "</pre>";