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