在非对象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条经验 获得超21个赞
selectInfo($DBH);function selectInfo($DBH,$limit, $offset){ $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?"); $stmt->bind_param("ii", $limit, $offset); $stmt->execute(); }
添加回答
举报
0/150
提交
取消