求助:编写SQL数据库公开内容ID与文件路径展示函数(代码报错)
修复你的SQL内容查询代码
嘿,我帮你找出了代码里几个导致运行失败的问题,咱们一步步来修正:
问题分析
- 废弃的
mysql_*函数:这些函数在PHP 7及以上版本已经被完全移除了,这是代码跑不起来的核心原因,必须换成mysqli或者PDO扩展。 - 变量名不一致:你创建连接用的是
$connection,但后面判断连接错误用的是$conn,变量不匹配会直接报错。 - 连接参数错误:
mysql_connect的第四个参数不是数据库名,原代码根本没正确选中pricosha数据库。
修正后的代码
<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "pricosha"; // 创建mysqli连接(面向对象写法) $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 查询内容字段(若需筛选公开内容,可添加WHERE条件) $query = "SELECT id, username, file_path, content_name FROM Content"; $result = $conn->query($query); // 循环输出结果 if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " | 用户名: " . $row["username"]. " | 文件路径: " . $row["file_path"]. " | 内容名称: " . $row["content_name"]. "<br>"; } } else { echo "没有找到任何内容"; } // 关闭连接 $conn->close(); ?>
额外提示
如果你的Content表有公开内容的专属标识(比如is_public字段),可以修改SQL语句精准筛选:
SELECT id, username, file_path, content_name FROM Content WHERE is_public = 1
另外,后续如果查询涉及用户输入,推荐使用预处理语句来避免SQL注入风险,安全性会更高。
内容的提问来源于stack exchange,提问作者codemonkey
相关产品推荐
相关产品推荐

