我是PHP和Mysql的新手并且不断收到此错误
<?php
$mysqli = new mysqli("localhost", "root", "root");
$mysqli->select_db("maturita");
$sql=$mysqli->query("SELECT name,description FROM `gallery`");
echo $sql;
?>
答案 0 :(得分:0)
mysqli-&gt;查询返回一个mysqli_result对象,而不是一个字符串(该错误非常具有描述性)。
要查询结果,请使用提取功能。
前:
while ( $rows = $resource->fetch_assoc() ) {
echo $rows['field'];
}
(beign $ resource是您查询的结果)
答案 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