You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ID的PDO评论列回显问题排查

解决食谱评论回显空白的问题

嘿,我看你在给网站搭建评论系统时卡壳了——想展示特定食谱(ID 1)的所有评论,但页面只显示空白,连review_comment列的内容都出不来。你贴的代码写到$review_data = ...就没下文了,我帮你梳理几个最可能的问题和解决办法:

  • 先把查询结果取出来!
    你执行完$pdo->execute()后,必须把数据库返回的结果集获取到变量里才行啊!要获取多条评论的话,用fetchAll()是最合适的:

    $review_data = $pdo->fetchAll(PDO::FETCH_ASSOC);
    

    要是没这一步,$review_data就是空的,页面自然啥都不显示。

  • 先确认查询有没有返回数据
    可以先打印下结果或者统计行数,看看数据库里到底有没有对应ID的评论:

    // 打印结果看看结构
    var_dump($review_data);
    // 或者判断是否有评论
    if ($pdo->rowCount() === 0) {
        echo "<p>还没有任何评论,快来抢沙发!</p>";
    }
    

    这一步能帮你区分是数据库没数据,还是代码没正确取到数据。

  • 检查$id变量是否正确
    确保$id确实是你想要的食谱ID(比如1),可以先把它打印出来验证:

    var_dump($id);
    

    要是$id是空值或者不对,SQL查询根本找不到对应的数据,页面当然空白。

  • 开启PDO错误调试
    PDO默认不会主动抛出错误,你可以开启错误模式,这样能直接看到SQL执行时的问题:

    // 放在数据库连接代码之后
    $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    

    这样如果SQL语法错了、字段名写错了,都会直接抛出异常,帮你快速定位问题。

  • 最后别忘了循环输出评论
    拿到$review_data之后,要遍历每个评论来输出内容,记得用htmlspecialchars()防止XSS攻击:

    foreach ($review_data as $review) {
        echo "<div class='comment'>" . htmlspecialchars($review['review_comment']) . "</div>";
    }
    

内容的提问来源于stack exchange,提问作者Hasnaat Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:29:15