[英]Mysqli database connection issue
我目前正在使用mysqli
來創建與數據庫的連接。 我的主機服務器不支持PDO連接,這就是我使用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();
不:它是fetch_all()
,而不是fetchAll()
。
根據文檔,它只能與mysqlnd一起使用然而,關於mysql fetch all頁面的第一條評論描述了如何創建一個執行相同操作的函數。
http://php.net/manual/en/mysqli-result.fetch-all.php
它也是fetch_all而不是fetchAll
當你調用$mysqli->query($sql)
,這可以返回一個mysqli_result
對象,或者在出錯時返回false
值。 我認為你的查詢不成功,並返回值false,當然如果你要求false->fetchAll()
這將給出一條錯誤信息。
所以你必須首先檢查,如果查詢成功(使用===
運算符並檢查false
),然后你可以使用查詢的結果。
PS這就是為什么我自己從不寫函數,混合類型的返回值......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.