PHP 中使用 PDO 连接和创建数据库表246


在 PHP 中使用 PDO(PHP Data Objects)是一种创建和操作数据库表的安全且面向对象的方法。PDO 是一种 PHP 扩展,提供了一个与数据库交互的统一接口,无论底层数据库系统为何种类型。

建立与数据库的连接

要开始使用 PDO,您需要首先建立与数据库的连接。以下是使用 PDO 连接到 MySQL 数据库的示例:```php
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';
try {
// 创建 PDO 对象
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为抛出异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo '连接到数据库成功!';
} catch (PDOException $e) {
echo '连接到数据库失败:' . $e->getMessage();
}
```

创建数据库表

使用 PDO 创建数据库表非常简单。以下是使用 PDO 创建名为 "users" 的表的示例:```php
// 创建表的 SQL 语句
$sql = "CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
)";
try {
// 使用 PDO 执行 SQL 语句
$conn->query($sql);
echo '创建 "users" 表成功!';
} catch (PDOException $e) {
echo '创建 "users" 表失败:' . $e->getMessage();
}
```

执行其他查询

除了创建表,您还可以使用 PDO 执行其他查询,例如插入、更新和删除数据。以下是一些示例:

插入数据


```php
$sql = "INSERT INTO users (username, email, password) VALUES (?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->execute([$username, $email, $password]);
```

更新数据


```php
$sql = "UPDATE users SET username = ? WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->execute([$new_username, $id]);
```

删除数据


```php
$sql = "DELETE FROM users WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->execute([$id]);
```

使用 PDO 预处理语句

预处理语句对于防止 SQL 注入攻击非常重要。PDO 提供了预处理语句支持,可让您安全地执行查询。预处理语句的工作原理是首先将 SQL 语句编译为一个计划,然后使用不同的值多次执行该计划。以下是如何使用 PDO 预处理语句:```php
// 准备 SQL 语句
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $conn->prepare($sql);
// 绑定参数
$stmt->bindParam(1, $username);
// 设置参数值
$username = 'john';
// 执行预处理语句
$stmt->execute();
// 获取结果
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
```

PDO 是在 PHP 中创建和操作数据库表的强大而灵活的工具。通过使用 PDO,您可以安全地连接到数据库、创建表并执行各种查询。PDO 预处理语句支持提供了额外的安全层,从而防止 SQL 注入攻击。通过遵循本文中的步骤,您可以轻松地在 PHP 中管理数据库表。

2024-10-23


上一篇:PHP 文件命名约定最佳实践

下一篇:用最有效方式编辑PHP文件