在 PHP 中怎么使用 PDO_MYSQL 扩展进行 MySQL 数据库的操作?
作者:互联网
1. 确保 PDO_MYSQL 已安装
确保你的 PHP 环境中启用了 pdo_mysql
扩展。可以通过运行 phpinfo();
来检查是否已启用。
2. 基本的 PDO_MYSQL 使用示例
以下是一个示例代码,演示了如何使用 PDO_MYSQL
进行数据库连接、执行查询和处理结果。
<?php
try {
// 数据库连接参数
$host = '127.0.0.1'; // 数据库主机
$dbname = 'your_database'; // 数据库名称
$username = 'your_username'; // 数据库用户名
$password = 'your_password'; // 数据库密码
// 创建 PDO 实例并设置错误模式为异常
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 设置错误处理模式
// 执行查询(示例:选择所有用户)
$stmt = $pdo->query("SELECT * FROM users");
// 获取查询结果
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 输出结果
foreach ($users as $user) {
echo "ID: " . $user['id'] . " - Name: " . $user['name'] . "\n";
}
} catch (PDOException $e) {
// 处理错误
echo "Database error: " . $e->getMessage();
} finally {
// 关闭数据库连接
$pdo = null;
}
?>
PHP
3. 代码解析
-
连接到数据库:使用
new PDO
创建一个新的 PDO 实例,连接到 MySQL 数据库。连接字符串的格式为mysql:host=主机名;dbname=数据库名;charset=utf8
,其中charset=utf8
指定字符编码为 UTF-8。 -
错误处理:使用
setAttribute
方法设置错误处理模式为PDO::ERRMODE_EXCEPTION
,以便在发生错误时抛出异常。 -
执行查询:使用
query
方法执行 SQL 查询,并返回一个 PDOStatement 对象。 -
获取结果:使用
fetchAll
方法获取所有结果,以关联数组的形式返回。 -
输出结果:遍历结果集并输出每个用户的 ID 和姓名。
-
异常处理:使用 try-catch 块来捕获可能的数据库连接或查询异常,并使用 finally 块确保最后关闭连接。
4. 插入数据示例
以下是一个插入数据的示例:
<?php
try {
// 连接数据库(代码同上)
// 插入数据(使用预处理语句)
$stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':age', $age);
// 插入一条新记录
$name = 'Alice';
$age = 30;
$stmt->execute();
echo "New record created successfully";
} catch (PDOException $e) {
// 处理错误
echo "Database error: " . $e->getMessage();
} finally {
// 关闭数据库连接
$pdo = null;
}
?>
PHP
标签: 来源: