使用PDO实现PHP数据库操作,需通过预处理语句执行增删改查。1. 连接数据库时设置DSN和异常模式;2. 插入数据使用prepare与execute防止SQL注入;3. 查询用fetchAll或fetch获取结果;4. 更新和删除同样采用预处理绑定参数,确保安全。核心是始终使用预处理机制避免拼接SQL,保障应用安全。
PHP操作数据库最常见的是通过MySQL配合PDO或mysqli扩展来实现增删改查(CRUD)。下面以PDO为例,讲解如何安全、高效地完成数据库的基本操作。
1. 连接数据库
使用PDO连接MySQL数据库,推荐使用DSN方式,并设置错误模式为异常模式,便于调试。
$host = 'localhost';$dbname = 'test_db';$username = 'root';$password = '123456';<p>try {$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);} catch (PDOException $e) {die("连接失败: " . $e->getMessage());}</p>登录后复制
注意:确保数据库字符集设为utf8或utf8mb4,避免中文乱码。
2. 插入数据(Create)
使用预处理语句防止SQL注入,是安全插入数据的关键。
立即学习“PHP免费学习笔记(深入)”;
$sql = "INSERT INTO users (name, email, age) VALUES (?, ?, ?)";$stmt = $pdo->prepare($sql);$name = '张三';$email = 'zhangsan@example.com';$age = 25;<p>if ($stmt->execute([$name, $email, $age])) {echo "插入成功,新ID:" . $pdo->lastInsertId();}</p>登录后复制
也可以使用命名占位符,提高可读性:

基于AI数字人能力,实现7*24小时AI数字人直播带货,低成本实现直播业务快速增增,全天智能在线直播


$sql = "INSERT INTO users (name, email, age) VALUES (:name, :email, :age)";$stmt = $pdo->prepare($sql);$stmt->execute([':name' => $name, ':email' => $email, ':age' => $age]);登录后复制
3. 查询数据(Read)
根据条件查询单条或多条记录,使用fetch或fetchAll获取结果。
// 查询所有用户$sql = "SELECt * FROM users";$stmt = $pdo->query($sql);$users = $stmt->fetchAll(PDO::FETCH_ASSOC);<p>foreach ($users as $user) {echo "姓名:{$user['name']},邮箱:{$user['email']}<br>";}</p><p>// 查询单条记录$sql = "SELECt * FROM users WHERe id = ?";$stmt = $pdo->prepare($sql);$stmt->execute([1]);$user = $stmt->fetch(PDO::FETCH_ASSOC);</p><p>if ($user) {echo "找到用户:{$user['name']}";} else {echo "用户不存在";}</p>登录后复制
4. 更新数据(Update)
更新操作同样建议使用预处理语句,绑定参数防止风险。
$sql = "UPDATE users SET name = ?, email = ? WHERe id = ?";$stmt = $pdo->prepare($sql);$newName = '李四';$newEmail = 'lisi@example.com';$id = 1;<p>if ($stmt->execute([$newName, $newEmail, $id])) {echo "更新成功,影响行数:" . $stmt->rowCount();}</p>登录后复制
5. 删除数据(Delete)
删除操作要谨慎,务必确认WHERe条件准确。
$sql = "DELETE FROM users WHERe id = ?";$stmt = $pdo->prepare($sql);$id = 1;<p>if ($stmt->execute([$id])) {echo "删除成功,影响行数:" . $stmt->rowCount();} else {echo "删除失败";}</p>登录后复制
基本上就这些。掌握PDO的预处理机制和基本SQL语法,就能在PHP中安全实现数据库的增删改查。关键是始终使用prepare和execute,避免拼接SQL,提升应用安全性。
以上就是php数据库如何实现增删改查 php数据库基本操作的综合教程的详细内容,更多请关注php中文网其它相关文章!