在非对象PHP帮助上调用成员函数prepare()

在非对象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();

每当我调用该函数时,我都会收到该错误。有人可以帮忙吗?


LEATH
浏览 615回答 3
3回答

哆啦的时光机

$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。

茅侃侃

selectInfo($DBH);function selectInfo($DBH,$limit, $offset){     $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?");     $stmt->bind_param("ii", $limit, $offset);     $stmt->execute();     }
打开App,查看更多内容
随时随地看视频慕课网APP