我在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