在非對象PHP幫助上調用成員函數prepare()我正在嘗試編寫PHP函數。這很簡單。它只是一個查詢數據庫的預準備語句,但我無法使其工作。我一直收到錯誤調用非對象上的成員函數prepare()。這是代碼:$DBH = new mysqli("host", "test", "123456", "dbname");function selectInfo($limit, $offset){
$stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?");
$stmt->bind_param("ii", $limit, $offset);
$stmt->execute();
}selectInfo();每當我調用該函數時,我都會收到該錯誤。有人可以幫忙嗎?
3 回答

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
$DBH
不在范圍內。您要么$DBH
在函數中定義為全局:
$DBH = new mysqli("host", "test", "123456", "dbname");function selectInfo($limit, $offset){ global $DBH; $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?"); $stmt->bind_param("ii", $limit, $offset); $stmt->execute();}
或者作為ircmaxell在他的優秀答案中指出的函數返回一個靜態實例$DBH
。

茅侃侃
TA貢獻1842條經驗 獲得超22個贊
selectInfo($DBH);function selectInfo($DBH,$limit, $offset){ $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?"); $stmt->bind_param("ii", $limit, $offset); $stmt->execute(); }
添加回答
舉報
0/150
提交
取消