php 与 MySQL 交互实例:从连接到数据操作
在动态网站开发中,PHP 与 MySQL 的组合是非常常见且强大的。下面通过具体实例展示 PHP 如何连接、查询和更新 MySQL 数据库。
准备工作
首先,确保服务器上已经安装了 PHP 和 MySQL 数据库,并且 PHP 已经开启了 MySQL 扩展。以 MySQL 8.0 为例,我们先创建一个名为 testdb
的数据库,并在其中创建一个名为 users
的表,表结构如下:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
PHP 连接 MySQL 数据库
在 PHP 中,我们可以使用 mysqli
扩展来连接 MySQL 数据库。以下是连接代码示例:
<?php
$servername = "localhost";
$username = "root";
$password = "your_password";
$dbname = "testdb";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: ". $conn->connect_error);
}
echo "连接成功";
?>
上述代码中,我们定义了数据库服务器地址、用户名、密码和数据库名,然后使用 mysqli
类创建连接对象。如果连接失败,将输出错误信息并终止脚本。
查询 MySQL 数据库
假设我们要从 users
表中查询所有用户信息,代码如下:
<?php
// 连接数据库代码省略
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: ". $row["id"]. " - 用户名: ". $row["username"]. " - 邮箱: ". $row["email"]. "<br>";
}
} else {
echo "没有找到记录";
}
$conn->close();
?>
这里先定义了 SQL 查询语句,然后使用 query
方法执行查询。通过 num_rows
判断是否有查询结果,若有则使用 fetch_assoc
逐行获取结果并输出。
更新 MySQL 数据库
现在我们来更新 users
表中某个用户的邮箱地址。假设要将 ID 为 1 的用户邮箱更新,代码如下:
<?php
// 连接数据库代码省略
$new_email = "new@example.com";
$user_id = 1;
$sql = "UPDATE users SET email =? WHERE id =?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $new_email, $user_id);
$stmt->execute();
if ($stmt->affected_rows > 0) {
echo "记录更新成功";
} else {
echo "没有记录被更新";
}
$stmt->close();
$conn->close();
?>
在更新操作中,我们使用了预处理语句 prepare
,通过 bind_param
绑定参数,这样可以有效防止 SQL 注入攻击。然后执行 execute
方法执行更新操作,通过 affected_rows
判断是否有记录被更新。
通过以上实例,我们详细展示了 PHP 与 MySQL 数据库的连接、查询和更新操作。这些操作是构建动态网站和应用程序的基础,合理运用能确保数据的高效处理和安全存储。
本文链接:https://blog.runxinyun.com/post/496.html 转载需授权!
留言0