2015-09-18 14 views
-1

這個PHP連接代碼拋出一個錯誤...PHP MySQL連接拋出非對象問題

這是全碼:

<?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上的非對象的成員函數fetch_array()在線個13

錯誤點這裏:

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

我怎樣才能解決這個問題?

+2

爲什麼大括號中的引號'}';'? –

+2

幹了什麼'的var_dump($結果);'說明了什麼? – andrew

+2

另外,您的查詢也可能失敗;檢查您的查詢http://php.net/manual/en/mysqli.error.php錯誤,這不是一個*** ***榮耀評論。 –

回答

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);