答案:创建留言板需先设计数据库表结构,再实现增删改查功能。首先创建数据库和留言表,包含ID、用户名、内容和时间字段;接着插入测试数据验证表功能;然后用PHP连接MySQL,实现留言提交与显示功能;最后通过前端页面展示所有留言并提供提交表单,同时注意SQL注入和XSS安全防护。

创建一个留言板的核心是设计数据库表结构、实现增删改查功能,并通过前端页面与用户交互。以下是使用 MySQL 搭建留言板的完整流程,适合初学者理解并动手实现。
1. 创建数据库和留言表
首先登录 MySQL,创建一个用于留言板的数据库:
CREATE DATABASE message_board;USE message_board;
接着创建存储留言信息的数据表,包含 ID、用户名、留言内容、发布时间等字段:
CREATE TABLE messages (id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
content TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
说明:
- id 是自增主键,唯一标识每条留言
- username 存储留言者姓名
- content 存储留言内容,使用 TEXT 类型支持较长文本
- created_at 自动记录留言时间
2. 插入测试数据
可以手动插入几条测试数据验证表是否正常:
INSERT INTO messages (username, content) VALUES('张三', '这是第一条留言!'),
('李四', '大家好,我是新来的');
3. 使用 PHP 连接 MySQL 实现留言功能
下面是一个简单的 PHP 示例,展示如何提交和显示留言。确保你有 PHP 环境和 MySQL 扩展支持。
提交留言(form 提交到 save_message.php):
save_message.php 内容:
$host = 'localhost';
$db = 'message_board';
$user = 'root';
$pass = ''; // 根据你的设置填写密码
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$username = $conn->real_escape_string($_POST['username']);
$content = $conn->real_escape_string($_POST['content']);
$sql = "INSERT INTO messages (username, content) VALUES ('$username', '$content')";
if ($conn->query($sql) === TRUE) {
echo "留言成功!";
} else {
echo "错误: " . $conn->error;
}
$conn->close();
header("Location: index.php"); // 提交后跳转回主页
?>
4. 显示所有留言
创建 index.php 来展示所有留言:
// 连接数据库$conn = new mysqli('localhost', 'root', '', 'message_board');
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT username, content, created_at FROM messages ORDER BY created_at DESC";
$result = $conn->query($sql);
?>
留言板
num_rows > 0): ?>
fetch_assoc()): ?>
= htmlspecialchars($row['username']) ?>
(= $row['created_at'] ?>):
= htmlspecialchars($row['content']) ?>
暂无留言。
close(); ?>
安全提示:
- 使用 mysqli_real_escape_string 或预处理语句防止 SQL 注入
- 用 htmlspecialchars 防止 XSS 攻击
- 生产环境应使用 PDO + 预处理语句更安全
基本上就这些。搭建一个基础留言板,关键是把数据库设计清楚,再配合简单的后端逻辑和前端展示。你可以在此基础上添加删除功能、分页、头像、回复等扩展功能。










