gpt4 book ai didi

php - 在 PHP 中,SQLite3Result 对象尚未正确初始化

转载 作者:行者123 更新时间:2023-12-01 21:48:09 25 4
gpt4 key购买 nike

我的 php 文件中有这段代码(正常工作):

$db = new Database();
$stmt = $db->prepare("SELECT * FROM bills WHERE group_id=:gid");
$stmt->bindValue(":gid", $_SESSION['group_id'], SQLITE3_INTEGER);
if (($result = $stmt->execute()) === false) {
echo "bad";
}

$bills = $result;
while ($bill = $bills->fetchArray()) {
do stuff....
}

然后我尝试将所有数据库相关代码放入函数中:

function getBillsByGID($gid) {
$db = new Database();
$stmt = $db->prepare("SELECT * FROM bills WHERE group_id=:gid");
$stmt->bindValue(":gid", $gid, SQLITE3_INTEGER);

if (($result = $stmt->execute()) === false) {
return null;
}

return $result;
}

在原始文件中:

$bills = getBillsByGID($_SESSION['group_id']);
while ($bill = $bills->fetchArray()) {
do stuff...
}

这给了我消息:“警告:SQLite3Result::fetchArray():第 61 行中的 SQLite3Result 对象尚未正确初始化” (与 while($bill = $bills ->fetchArray()))

var_dump($bills) 调用该函数后给出 object(SQLite3Result)#10 (0) { }

那么如何制作一个可以正常工作的函数呢?

最佳答案

您是否正在关闭 getBillsByGID 中的语句?调用 $stmt->close() 会使从 $stmt->execute() 获得的结果无效。之后,调用 $result->fetchArray() 将给出错误“SQLite3Result 对象尚未在...中正确初始化”。

关于php - 在 PHP 中,SQLite3Result 对象尚未正确初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22230448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com