我在PHP和MySQL很新,并保持收到此错误开捕致命错误:类mysqli_result的对象不能转换为字符串使用C
<?php
$mysqli = new mysqli("localhost", "root", "root");
$mysqli->select_db("maturita");
$sql=$mysqli->query("SELECT name,description FROM `gallery`");
echo $sql;
?>
我在PHP和MySQL很新,并保持收到此错误开捕致命错误:类mysqli_result的对象不能转换为字符串使用C
<?php
$mysqli = new mysqli("localhost", "root", "root");
$mysqli->select_db("maturita");
$sql=$mysqli->query("SELECT name,description FROM `gallery`");
echo $sql;
?>
mysqli->查询返回mysqli_result对象,而不是字符串(错误是相当具有描述性的)。
要查询结果,请使用提取函数。
例如:
while ($rows = $resource->fetch_assoc()) {
echo $rows['field'];
}
(beign $资源查询的结果)
手册上说(https://secure.php.net/manual/en/mysqli.query.php):
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return 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