php怎么把数据库字段调出来然后显示在页面上,简单点说就是调用和展示数据库里的内容
- 问答
- 2026-01-04 08:55:19
- 16
你得明白一个最基本的流程,这就像去图书馆找一本书:你得先进入图书馆(连接数据库),然后根据索引找到书架(执行查询语句),拿到你想要的那本书(获取数据),最后打开书阅读(在页面上显示数据),下面我们就一步步来。
第一步:连接数据库
你要操作数据库里的数据,首先得和数据库建立联系,在PHP中,我们通常使用MySQLi或PDO扩展来连接MySQL数据库,这里用一个简单的MySQLi面向对象的例子。
假设你的数据库信息是这样的:
- 数据库服务器地址:localhost(通常本地测试就是这个)
- 用户名:root
- 密码:123456
- 数据库名:my_database
连接数据库的PHP代码是这样的:
<?php
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "my_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error); // 如果连接出错,就显示错误信息并停止脚本
}
echo "数据库连接成功!"; // 这行在实际使用时通常可以去掉,只是测试用
?>
把上面的信息换成你自己的就行了,如果看到“数据库连接成功!”,说明你这第一步已经完成了。
第二步:从数据库里“拿”数据

连接成功后,你就可以向数据库发送命令了,这个命令就是SQL查询语句,最常用的就是SELECT语句,意思是“选择”,你想从一个叫做users的表中取出所有的用户信息。
代码是这样的:
$sql = "SELECT id, username, email FROM users"; // 这条SQL语句意思是:从users表里选择id、username和email这三个字段的数据 $result = $conn->query($sql); // 让数据库执行这条语句,并把结果交给$result变量
这里,$result是一个结果集对象,你可以把它理解成数据库返回给你的一个包含了所有符合条件数据的“包裹”。
第三步:处理并显示数据
现在数据已经在你手上了(在$result变量里),但它是PHP不能直接看懂的特殊格式,我们需要从这个“包裹”里把数据一条一条地取出来,最常用的方法是使用fetch_assoc()方法,它能把一条数据转换成一个关联数组,数组的键就是数据库里的字段名(比如id, username)。
通常我们会用循环来把所有的数据都取出来。

if ($result->num_rows > 0) { // 先检查一下结果集里是不是有数据(num_rows表示数据的行数)
// 如果有数据,就循环输出每一条数据
while($row = $result->fetch_assoc()) { // 每次循环,fetch_assoc()都会取出一行数据变成数组,赋值给$row,取完了就循环停止。
echo "ID: " . $row["id"]. " - 用户名: " . $row["username"]. " - 邮箱: " . $row["email"]. "<br>"; // 用echo把数据输出到页面上
}
} else {
echo "没有找到任何记录"; // 如果结果集是空的,就显示这个
}
你看,$row["id"]就是取出当前这条数据的id字段的值,$row["username"]就是用户名的值,这样,数据就被成功地“调出来”并“显示在页面上了”。
第四步:关闭连接
所有操作都做完后,最好养成习惯关闭数据库连接,释放资源。
$conn->close(); // 关闭连接
一个完整的简单例子
把上面的步骤组合起来,就是一个完整的从数据库读取并显示用户列表的简单页面:
<?php
// 1. 连接数据库
$conn = new mysqli("localhost", "root", "123456", "my_database");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 2. 执行查询
$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);
// 3. 显示数据
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - 用户名: " . $row["username"]. " - 邮箱: " . $row["email"]. "<br>";
}
} else {
echo "暂无用户";
}
// 4. 关闭连接
$conn->close();
?>
更常见的显示方式:用HTML表格

上面是直接用echo输出文字,在实际中我们更常用HTML的表格来展示数据,这样更整齐好看。
<?php
// ... 连接数据库和查询的代码同上 ...
if ($result->num_rows > 0) {
echo "<table border='1'>"; // 开始一个表格,有1像素的边框
echo "<tr><th>ID</th><th>用户名</th><th>邮箱</th></tr>"; // 表格的表头行
while($row = $result->fetch_assoc()) {
echo "<tr>"; // 开始一行
echo "<td>" . $row["id"] . "</td>"; // 输出一个单元格,放id
echo "<td>" . $row["username"] . "</td>"; // 放用户名
echo "<td>" . $row["email"] . "</td>"; // 放邮箱
echo "</tr>"; // 结束一行
}
echo "</table>"; // 结束表格
} else {
echo "暂无用户";
}
// ... 关闭连接的代码 ...
?>
这样,你打开这个PHP页面,就能看到一个整齐的表格,里面显示着所有用户的信息。
非常重要的安全提醒
上面写的代码是非常基础的示例,直接把用户输入用来拼接SQL语句是非常危险的,会存在“SQL注入”漏洞,黑客可以利用这个漏洞破坏或窃取你的数据,在实际项目中,只要SQL语句里的条件是需要从用户那里获取的(比如搜索功能),就绝对不能像上面那样直接拼接字符串。
一定要使用“参数化查询”(也叫预处理语句),比如用MySQLi应该这样写:
// 假设我们要查询特定id的用户,这个id来自用户输入(_GET['id'])
$stmt = $conn->prepare("SELECT username, email FROM users WHERE id = ?"); // 用问号?占位
$stmt->bind_param("i", $user_id); // "i"表示参数是整数类型,把$user_id变量绑定到问号位置
$stmt->execute(); // 执行
$result = $stmt->get_result(); // 获取结果集
// ... 后面显示数据的部分和之前一样 ...
这才是安全的做法,因为你刚开始学,可以先让基础流程跑通,但一定要记住有这个安全问题存在,以后写项目时必须使用这种安全的方法。
PHP调用和展示数据库内容的核心就是四步:连接、查询、处理显示、关闭,先用最简单的方式把它做出来,然后再去考虑美化界面和增强安全性。
本文由邝冷亦于2026-01-04发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/74231.html
