可捕获的致命错误:类mysqli_result的对象无法在C中转换为字符串

时间:2017-02-20 18:57:30

标签: php mysql

我是PHP和Mysql的新手并且不断收到此错误

<?php  
$mysqli = new mysqli("localhost", "root", "root");
$mysqli->select_db("maturita");

$sql=$mysqli->query("SELECT name,description FROM `gallery`");

echo $sql;
?>

2 个答案:

答案 0 :(得分:0)

mysqli-&gt;查询返回一个mysqli_result对象,而不是一个字符串(该错误非常具有描述性)。

要查询结果,请使用提取功能。

前:

while ( $rows = $resource->fetch_assoc() ) {
    echo $rows['field'];
}

(beign $ resource是您查询的结果)

doc:http://php.net/manual/es/mysqli-result.fetch-array.php

答案 1 :(得分:0)

手册说(https://secure.php.net/manual/en/mysqli.query.php):

  

失败时返回 FALSE 。要成功 SELECT SHOW DESCRIBE EXPLAIN 查询 mysqli_query()将返回一个 mysqli_result 对象。对于其他成功的查询, mysqli_query()将返回TRUE。

所以错误是因为PHP无法将 mysqli_result 对象转换为echo函数中的字符串。

您可以将代码更改为:

<?php  
$mysqli = new mysqli("localhost", "root", "root");
$mysqli->select_db("maturita");

$sql=$mysqli->query("SELECT name,description FROM `gallery`");

print_r($sql->fetch_all());
?>

结果将是结果的数组结构。

可以在此处找到mysqli_result和其他函数的说明:https://secure.php.net/manual/en/class.mysqli-result.php