可捕获的致命错误:类mysqli_result的对象无法在php中转换为字符串
我正在从我的产品表中获取数据。我似乎想不出是什么错误。 产品可捕获的致命错误:类mysqli_result的对象无法在php中转换为字符串,php,mysqli,Php,Mysqli,我正在从我的产品表中获取数据。我似乎想不出是什么错误。 产品 问题 无法回显$result,因为它不是字符串 在PHP中,您不能回送对象,除非它具有,因此,它不能被echoed。因此,错误 解决方案 您要做的是使用循环遍历结果,例如。文档中包含了一些示例,还有很多关于使用MySQLi的好教程 下面是一个使用mysqli\u fetch\u assoc()的示例: mysqli\u查询将返回一个对象,然后您必须从中提取行。一旦有了行,就可以访问每行中的字段 我这样做的方式是通过mysqli结果进
问题
无法回显$result
,因为它不是字符串
在PHP中,您不能回送对象,除非它具有,因此,它不能被echo
ed。因此,错误
解决方案
您要做的是使用循环遍历结果,例如。文档中包含了一些示例,还有很多关于使用MySQLi的好教程
下面是一个使用mysqli\u fetch\u assoc()
的示例:
mysqli\u查询将返回一个对象,然后您必须从中提取行。一旦有了行,就可以访问每行中的字段
我这样做的方式是通过mysqli结果进行循环(我不确定是否还有其他方式):
还有另一种将mysqli用作对象的方法,我发现这比1更容易。函数名较短且为2。您不必一直传入$con参数。相反,您会说$result=$con->query(“选择…”)代码>
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="tianen"; // Database name
$tbl_name="product";
$con = mysqli_connect("127.0.0.1","root","","tianen");
$result=mysqli_query($con,"SELECT * FROM product");
echo"$result";
?>
<?php
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="tianen"; // Database name
$tbl_name="product";
$con = mysqli_connect("127.0.0.1","root","","tianen");
$result=mysqli_query($con,"SELECT * FROM product");
if ($result) {
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
// do things with $row, an associative array with keys matching your table's column names
}
?>
// Create an empty array to store rows
$rows = [];
// The fetch_assoc function will automatically generate an iterator to return false when there are no more rows to fetch.
// Each result will be a row in the form of an associative array
while ($row = mysqli_fetch_assoc($con, $result)) {
array_push($rows, $row);
}