📅  最后修改于: 2023-12-03 14:44:31.416000             🧑  作者: Mango
在使用 mysqli 执行 SELECT 查询后,返回的结果是 mysqli_result 类的对象。这个对象代表着查询的结果集,是一个类似于二维数组的数据结构。但是,有的时候我们会遇到如下错误提示:
Catchable fatal error: Object of class mysqli_result could not be converted to string
这个错误提示的意思是将 mysqli_result 类的对象转换为字符串时出现了问题。在 PHP 中,有些数据类型是不能直接转换为字符串的,mysqli_result 类就是其中之一。
mysqli_result 类是一个数据集对象,它并不是字符串类型。因此,将该对象当作字符串使用时,会出现上述错误。
为了避免这个错误,我们可以使用 mysqli_fetch_* 系列函数来遍历结果集,并将结果转换为字符串类型。
比如,如果我们想要将结果集中的每一行记录显示出来,可以使用如下代码:
while ($row = mysqli_fetch_assoc($result)) {
echo implode(',', $row) . '<br>';
}
这段代码可以将结果集中每行记录的字段用逗号连接成字符串,然后显示在网页上。
另外,如果只需要查询结果集中的第一条记录,可以使用 mysqli_fetch_assoc 函数,如下所示:
$row = mysqli_fetch_assoc($result);
echo implode(',', $row);
在处理 mysqli_result 类对象时,我们需要注意不能将其当作字符串类型来使用。正确的方法是使用 mysqli_fetch_* 系列函数来遍历结果集,并将结果转换为字符串类型。