2012-07-21 98 views
0

我目前使用mysqli來創建與我的數據庫的連接。我的主機服務器不支持PDO連接,所以這就是爲什麼我使用mysqli。建立連接時,我收到此錯誤:Mysqli數據庫連接問題

Fatal error: Call to undefined method mysqli_result::fetchAll() 

fetchAll()不是的mysqli的一部分嗎?

PHP連接到DB

$mysqli = new mysqli('localhost', 'user', 'password', 'database'); 

if (mysqli_connect_error()) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
      . mysqli_connect_error()); 
} 
else { 
echo ('Success... '); 
} 

    $sql = "SELECT * 
      FROM `categories` 
      WHERE `master` = 0"; 
    $statement = $mysqli->query($sql); 
    $list = $statement->fetchAll(); 

回答

0

當你調用$mysqli->query($sql),這可以返回一個mysqli_result對象,或在錯誤的情況下的價值false。我認爲你的查詢不成功,並返回false值,當然,如果你要求false->fetchAll()這將給出一個錯誤消息。

因此,如果查詢成功(使用===運算符並檢查false),則必須先檢查,然後才能處理查詢結果。

P.S.這就是爲什麼我從來沒有寫函數自己,混合類型的返回值...

1

編號:這是fetch_all(),不fetchAll()

+0

好吧謝謝你,但現在我得到這個錯誤:'調用未定義的方法mysqli_result :: fetch_all()' – CodingWonders90 2012-07-21 19:50:22

1

你可能想fetch_all()

mysqli_result::fetch_all(); 
PDO::fetchAll(); 

Manual Entry

+0

好吧謝謝,但現在我得到這個錯誤:'調用未定義的方法mysqli_result :: fetch_all()' – CodingWonders90 2012-07-21 19:50:56