连接数据库是第一步
做网站时,数据得存起来,最常见的就是用 MySQL。PHP 要跟 MySQL 打交道,第一步就是建立连接。就像你要进别人家门,得先敲门一样。使用 mysqli_connect() 函数就能完成这一步。
<?php
$host = 'localhost';
$username = 'root';
$password = '123456';
$database = 'test_db';
$conn = mysqli_connect($host, $username, $password, $database);
if (!$conn) {
die('连接失败:' . mysqli_connect_error());
}
?>上面这段代码里,四个参数分别是主机地址、用户名、密码和数据库名。如果连不上,程序就会停下来并提示错误信息。实际开发中,这些配置通常会放在单独的配置文件里,避免到处写密码。
执行查询操作
连上之后就可以查数据了。比如你做个博客,打开文章列表页面,就得从数据库里把标题、发布时间这些信息取出来。用 mysqli_query() 就能执行 SQL 语句。
<?php
$sql = 'SELECT id, title, created_time FROM articles';
$result = mysqli_query($conn, $sql);
if ($result && mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<p>' . $row['title'] . ' - ' . $row['created_time'] . '</p>';
}
} else {
echo '<p>暂无文章</p>';
}
?>这里用到了 mysqli_fetch_assoc(),它把每一行数据变成关联数组,字段名当键,方便我们直接调用。循环输出后,网页上就看到文章列表了。
插入数据也很常见
用户注册、发评论,都是往数据库写数据。INSERT 语句配合 mysqli_query 就能完成。比如用户提交了一个留言:
<?php
$name = $_POST['name'];
$content = $_POST['content'];
// 简单过滤一下防止页面出错
$name = mysqli_real_escape_string($conn, $name);
$content = mysqli_real_escape_string($conn, $content);
$sql = "INSERT INTO comments (name, content, create_time) VALUES ('$name', '$content', NOW())";
if (mysqli_query($conn, $sql)) {
echo '留言成功';
} else {
echo '出错了:' . mysqli_error($conn);
}
?>注意这里用了 mysqli_real_escape_string() 处理用户输入,虽然不是最安全的方式,但比直接拼接字符串强。更推荐的做法是用预处理语句,防 SQL 注入更有效。
修改和删除数据
后台管理时经常要改文章内容或者删掉某条评论。UPDATE 和 DELETE 语句同样用 mysqli_query 执行。
比如把 ID 为 5 的文章标题改掉:
<?php
$newTitle = mysqli_real_escape_string($conn, '新标题');
$sql = "UPDATE articles SET title = '$newTitle' WHERE id = 5";
if (mysqli_query($conn, $sql)) {
echo '更新成功';
} else {
echo '更新失败:' . mysqli_error($conn);
}
?>删数据也类似,注意加上 WHERE 条件,不然整张表都清空了可没法回头。
别忘了关闭连接
每次操作完数据库,建议调用 mysqli_close() 把连接关掉。虽然 PHP 脚本结束时会自动释放资源,但主动关闭更清晰,尤其在处理多个连接或长时间运行的脚本时。
<?php
mysqli_close($conn);
?>这个动作就像走之前关灯,不费劲但值得养成习惯。