加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – fetch当我从缓存中获取它时只返回一行

发布时间:2020-12-11 23:45:21 所属栏目:MySql教程 来源:网络整理
导读:我正在尝试采用缓存类在我的网页上使用. 简单的逻辑是这样的: 尝试从缓存中获取数据: 如果没有:运行查询并将其设置为缓存. 如果有:显示来自缓存的数据. 我的代码 我的输出和问题 我有两排. 当我从查询中获取它们时,我的代码输出它们.这很好. row1row2 但

我正在尝试采用缓存类在我的网页上使用.

简单的逻辑是这样的:

尝试从缓存中获取数据:

>如果没有:运行查询并将其设置为缓存.
>如果有:显示来自缓存的数据.

我的代码

我的输出和问题

我有两排.

当我从查询中获取它们时,我的代码输出它们.这很好.

row1
row2

但是当页面从缓存中将它带给我时,它只输出最后一行.

row2

我试过的

我尝试使用fetchAll()函数而不是fetch()但这次我收到通知:未定义索引:id错误.

所以我被困住了,需要你的帮助.

最佳答案 如果一次为所有记录,请使用fetchAll

$r = $cache->get("cachethis");

if(!is_array($r)) {
    // not in cache,from db
    $query = $handler->query("SELECT * FROM members");
    $r = $query->fetchAll(PDO::FETCH_ASSOC);
    $cache->set("cachethis",10);
}

foreach($r as $v) echo $v['id']."

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读