在会话

时间:2017-06-15 19:07:01

标签: php session prepared-statement

我正在尝试将我准备好的语句结果存储在一个会话中,以便每次加载页面时都可以访问此信息(非敏感)而不会跳转到数据库。

if (empty($_SESSION['stored'])) {
   prepared Statement goes here...
   $_SESSION['form_structure'] = mysqli_stmt_get_result($db);
} else {
   $_SESSION['stored'] = $_SESSION['stored'];
}

while ($rows = mysqli_fetch_assoc($_SESSION['stored'])) {
...do something
}

当页面首次加载并且它第一次注册会话时,一切正常。当我第二次加载页面并跳过准备好的语句并重新将会话重新分配给会话时,它会失败。我收到一个错误:

mysqli_fetch_assoc(): Couldn't fetch mysqli_result in ... on line 495

第495行是我上面的while循环引用。我不知道为什么它不能重新加载,但在新的加载它工作正常。我已经使用empty / isset检查了会话,并且说它已经设置好了。它只是在重新加载时抛出错误。有什么建议?感谢。

0 个答案:

没有答案