数据库连接成功但网页无数据显示,phpMyAdmin查询正常,请求排查问题
问题排查与解决方案
嘿,我一眼就瞅到了你代码里的关键问题,这几乎肯定就是网页显示“No Data”的原因!
核心问题:变量名拼写错误
你执行查询后把结果赋值给了变量$result,但在判断结果行数的时候却写成了$results->num_rows——多了一个s!
在PHP里,未定义的变量会被视为null,尝试访问null->num_rows会触发隐性错误(如果你的错误提示没开启的话,这个错误不会显示出来),导致条件$results->num_rows > 0不成立,程序直接跳转到else分支输出“No Data”。
修正后的代码片段
<?php $query = "SELECT * FROM posts"; $result = $conn->query($query); // 强烈建议加上查询错误判断,帮你快速定位隐性问题 if (!$result) { die("查询执行失败: " . $conn->error); } if($result->num_rows > 0){ // 这里把$results改成$result while($row = $result->fetch_assoc()){ echo $row['title']; } echo"We Have Data"; } else { echo"No Data"; } ?>
额外排查建议(以防万一)
如果修正变量名后还是有问题,可以试试这些方法:
- 开启PHP错误提示:在代码最开头加上这两行,能让所有错误直接显示在页面上,方便快速定位问题:
error_reporting(E_ALL); ini_set('display_errors', 1); - 确认数据库连接正确性:虽然你说phpMyAdmin能查到数据,但可以加一行代码确认是否连接到了目标数据库:
echo $conn->select_db($dbname) ? "已连接到正确数据库" : "数据库选择失败"; - 检查表名大小写:在Linux环境下MySQL的表名是区分大小写的,确保代码里的
posts和数据库里的表名完全一致(包括大小写)。
内容的提问来源于stack exchange,提问作者Andy Terry
相关产品推荐
相关产品推荐

