📜  php PDO 数据库连接 (1)

📅  最后修改于: 2023-12-03 14:45:12.536000             🧑  作者: Mango

PHP PDO 数据库连接

在 PHP 开发中,使用 PDO (PHP Data Objects) 连接数据库已经成为主流。PDO 提供了一个统一的接口来处理多个类型的数据库,让连接、查询、预处理语句等操作更加简单和安全。

连接数据库

使用 PDO 连接数据库非常简单,只需要传递数据库类型、主机名、数据库名、用户名和密码即可。例如,在 MySQL 数据库中:

$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myuser';
$password = 'mypassword';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

在这里,我们通过 try-catch 语句来捕获可能出现的异常,并在连接失败时输出错误信息。

查询数据

我们可以使用 PDO 预处理语句来查询数据,这样能够有效地防止 SQL 注入攻击。例如,在查询学生信息时:

$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

$statement = $pdo->prepare('SELECT * FROM students WHERE age > :age');
$statement->bindParam(':age', $age, PDO::PARAM_INT);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);

foreach ($result as $row) {
    echo $row['name'] . ', Age ' . $row['age'] . ', GPA ' . $row['gpa'] . '<br />';
}
插入数据

同样地,我们可以使用 PDO 预处理语句来插入数据。例如,在插入新学生时:

$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

$statement = $pdo->prepare('INSERT INTO students (name, age, gpa) VALUES (:name, :age, :gpa)');
$statement->bindParam(':name', $name, PDO::PARAM_STR);
$statement->bindParam(':age', $age, PDO::PARAM_INT);
$statement->bindParam(':gpa', $gpa, PDO::PARAM_STR);
$statement->execute();

在这里,我们使用了 bindParam() 函数来绑定预处理语句中的占位符。这样,我们就能够在执行语句之前安全地填充值,并避免 SQL 注入攻击。

总结

PDO 不仅提供了一个安全和简单的方法来连接多个数据库,还能够有效地预防 SQL 注入攻击。我们可以使用 PDO 来执行多种操作,包括查询、插入、更新和删除数据。最终,这将使我们的 PHP 开发更加安全和高效。

以上是 PHP PDO 数据库连接的介绍,希望能够对你有所帮助。