在非對(duì)象PHP幫助上調(diào)用成員函數(shù)prepare()我正在嘗試編寫PHP函數(shù)。這很簡(jiǎn)單。它只是一個(gè)查詢數(shù)據(jù)庫(kù)的預(yù)準(zhǔn)備語句,但我無法使其工作。我一直收到錯(cuò)誤調(diào)用非對(duì)象上的成員函數(shù)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();每當(dāng)我調(diào)用該函數(shù)時(shí),我都會(huì)收到該錯(cuò)誤。有人可以幫忙嗎?
3 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
$DBH
不在范圍內(nèi)。您要么$DBH
在函數(shù)中定義為全局:
$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在他的優(yōu)秀答案中指出的函數(shù)返回一個(gè)靜態(tài)實(shí)例$DBH
。

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