📜  php 如何使用 PDO 连接到 db - PHP (1)

📅  最后修改于: 2023-12-03 15:33:37.291000             🧑  作者: Mango

PHP 如何使用 PDO 连接到数据库

PHP Data Objects(PDO)是 PHP 提供的一个通用的数据库访问层,它允许开发者使用一个通用的 API 访问各种类型的数据库,包括 MySQL、PostgreSQL、Oracle 等。

在本文中,我们将介绍如何使用 PDO 连接到数据库。

步骤 1:准备数据库

首先,我们需要在数据库中创建一个表格。我们将以 MySQL 数据库为例。下面是一个用于创建 test 数据库和创建 users 表格的 SQL 语句:

-- 创建 test 数据库
CREATE DATABASE IF NOT EXISTS test;
USE test;

-- 创建 users 表格
CREATE TABLE IF NOT EXISTS users (
  id int(11) NOT NULL AUTO_INCREMENT,
  username varchar(50) NOT NULL,
  password varchar(255) NOT NULL,
  email varchar(100) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
步骤 2:连接数据库

接下来,我们将使用 PHP 和 PDO 连接到数据库。在连接之前,我们需要准备连接字符串和登录凭证。

连接字符串指定了访问数据库的主机名、端口号、数据库名称和字符集等信息。

登录凭证包括用户名和密码。我们需要确保这些信息是正确的,否则连接将失败。

以下是连接到 MySQL 数据库的示例代码:

// 准备连接字符串和登录凭证
$host = 'localhost';
$dbname = 'test';
$username = 'root';
$password = '';

$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8";

// 连接到数据库
try {
  $pdo = new PDO($dsn, $username, $password);
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
  echo '连接数据库失败:' . $e->getMessage();
  exit;
}

以上代码中,我们使用 PDO 构造函数创建一个 PDO 实例,并设置了错误模式(PDO::ERRMODE_EXCEPTION)。如果连接失败,将抛出一个 PDOException 异常。

步骤 3:执行查询

一旦连接到数据库,我们就可以执行各种查询了。以下是一个查询 users 表格中所有数据的示例代码:

// 查询 users 表格中所有数据
$stmt = $pdo->query('SELECT * FROM users');

// 遍历查询结果
while ($row = $stmt->fetch()) {
  echo $row['id'] . "\t" . $row['username'] . "\n";
}

以上代码中,我们使用 PDO 实例的 query 方法执行查询语句,并获取一个 PDOStatement 对象。我们可以使用 fetch 方法从 PDOStatement 对象中获取一行数据,直到所有行都被获取完为止。

步骤 4:使用参数化查询

在开发过程中,我们通常会使用参数化查询来防止 SQL 注入攻击。下面是一个使用参数化查询的示例代码:

// 使用参数化查询查询用户名为 johndoe 的用户
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$username = 'johndoe';
$stmt->execute();

// 遍历查询结果
while ($row = $stmt->fetch()) {
  echo $row['id'] . "\t" . $row['username'] . "\n";
}

以上代码中,我们使用 PDO 实例的 prepare 方法创建一个 PDOStatement 对象,并使用 bindParam 方法设置一个参数(:username)。注意,我们必须在执行查询之前设置参数值($username)。

步骤 5:关闭连接

当我们完成所有数据库操作后,应该关闭 PDO 连接。以下是一个关闭 PDO 连接的示例代码:

// 关闭 PDO 连接
$pdo = null;

以上代码中,我们将 PDO 实例的值设置为 null,以关闭连接并释放资源。

以上就是使用 PDO 连接到数据库的全部过程。希望这篇文章对你有所帮助。