PHP Mysql连接抛出非对象问题

时间:2015-09-18 21:10:27

标签: php mysql mysqli

此php连接代码引发错误...

这是完整的代码:

<?php

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$conn = new mysqli("localhost", "myusername", "mypassword", "mydatabase");

$result = $conn->query("SELECT title FROM mytable");

var_dump($result);

$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
    if ($outp != "") {$outp .= ",";}
    $outp .= '"title":"'. $rs["title"]     . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();

echo($outp);

?>

这是它抛出的错误:

  

致命错误:在 /home/mypath/public_html/connection.php 中的 13上的非对象上调用成员函数fetch_array()

错误点在这里:

while($rs = $result->fetch_array(MYSQLI_ASSOC)) {

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您的查询失败。查询失败时mysqli::query会返回false,否则会返回mysql_result个对象。

  

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

通过在控制台上运行查询来确保您的查询正确无误。您还应该在运行查询时检查错误。

$result = $conn->query("...") or trigger_error($conn->error);