PHP PDO は、PHP データベース拡張機能の重要なコンポーネントです。PHP およびさまざまなリレーショナル データベースに統合された API を提供します。PDO を使用すると、プログラムの安全性、効率性、保守性が向上します。
この記事では、データベースへの接続方法やSQL文の実行方法、トランザクション処理など、PHP PDOの使い方を紹介します。
1. データベースへの接続
データベースへの接続は、データベース操作に PDO を使用する際の重要な手順です。データベースに接続する前に、データベースアドレス、ユーザー名、パスワード、対応するデータベース名などの情報を準備する必要があります。
データベースに接続するコードは次のとおりです:
// 数据库连接信息,根据实际情况修改 $db_host = 'localhost'; // 数据库地址 $db_name = 'mydatabase'; // 数据库名称 $db_user = 'root'; // 数据库用户名 $db_password = 'password'; // 数据库密码 // 创建PDO对象 try { $pdo = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_password); } catch (PDOException $e) { echo '数据库连接失败:' . $e->getMessage(); exit; }
2. 接続後に SQL ステートメントを実行します
データベースにアクセスするには、まず SQL ステートメントの実行方法を学ぶ必要があります。 PDO には SQL ステートメントを実行するための複数のメソッドが用意されており、より一般的に使用されるメソッドは query()
と prepare()
です。
1. query() メソッドを使用して SQL ステートメントを実行します
query()
メソッドは SQL ステートメントを直接実行できます。成功すると、PDOStatement オブジェクトが返されます。
たとえば、ユーザー テーブル (ユーザー) 内のデータをクエリする場合、コードは次のとおりです:
$sql = "SELECT * FROM user"; // SQL语句 $stmt = $pdo->query($sql); // 执行SQL语句,返回PDOStatement对象 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
2. prepare() メソッドを使用して実行します。 SQL ステートメント
prepare()
メソッドは SQL ステートメントを準備し、変数バインディングを使用して SQL ステートメントを実行できます。変数バインディングを使用すると、SQL インジェクション攻撃を防ぐことができます。
コードは次のとおりです:
$sql = "SELECT * FROM user WHERE id = ?"; // SQL语句,使用?作为占位符 $stmt = $pdo->prepare($sql); // 准备SQL语句 $id = 1; // 赋值给变量$id $stmt->execute([$id]); // 执行SQL语句并传入变量值 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
3. トランザクション処理
データベース操作では、いくつかの操作を実行する必要があります。複数の操作を同時に実行する SQL ステートメントでは、今回はトランザクション処理を使用する必要があります。トランザクション処理では、コミットする前にすべての操作が成功することを確認する必要があります。そうでないと、トランザクションが開始される前の状態にロールバックされます。
コードは次のとおりです:
$pdo->beginTransaction(); // 开启事务 // 定义SQL语句 $sql1 = "DELETE FROM user WHERE id = ?"; $sql2 = "INSERT INTO user (uname, age) VALUES (?, ?)"; // 准备SQL语句 $stmt1 = $pdo->prepare($sql1); $stmt2 = $pdo->prepare($sql2); // 赋值给变量 $id = 1; // 要删除的数据ID $uname = 'test'; // 新增数据的用户名 $age = 18; // 新增数据的年龄 // 执行SQL语句 $stmt1->execute([$id]); $stmt2->execute([$uname, $age]); // 提交事务 $pdo->commit();
上記は PHP PDO の基本的な使用法です。より高度なアプリケーションでは、プリペアド ステートメントや名前付きステートメントなどの PDO の高度な機能も使用できます。バインディング。この記事が、PHP 開発での PDO の使用に役立つことを願っています。
以上がPHPデータベース学習 PDOの基本的な使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。