現代の Web アプリケーション開発では、ほとんどの場合、データの保存と取得のためにデータベースとの対話が必要です。インタラクションの効率とセキュリティを確保するために、開発者は多くの場合、データベース接続層として PDO 拡張機能 (PHP データ オブジェクト) を使用します。この記事では、PDO 拡張機能を使用して MySQL データベースを操作する方法を紹介します。
PDO は、さまざまなデータベースにアクセスするために PHP によって提供される汎用的な方法です。これにより、オブジェクト指向のアプローチを使用してデータベースに接続し、クエリを実行できるようになります。 PDO は、MySQL、SQLite、PostgreSQL、Oracle などの複数のデータベース タイプをサポートします。 PDO を使用すると、コード内の SQL ステートメントとデータベース アクセス資格情報のハードコーディングが回避され、コードの移植性とセキュリティが向上します。
PDO を使用する前に、PHP インストールに PDO 拡張機能が含まれていることを確認する必要があります。次のコマンドを使用して、PHP が PDO 拡張機能をサポートしているかどうかを確認できます。
php -m | grep -i pdo
pdo_mysql および pdo_sqlite (または類似のもの) が出力される場合、PHP インストールにはすでに PDO 拡張機能が含まれています。そうでない場合は、構成とインストール作業を行う必要があります。 [https://www.php.net/manual/en/pdo.installation.php](https://www.php.net/manual/en/pdo.installation.php) ステップで特定のインストールを確認できます。 。
PDO を使用して MySQL データベースに接続する前に、接続に必要なホスト アドレス、ポート番号、ユーザー名、パスワードなどの接続情報を準備する必要があります。データ。これらの資格情報を持っていることを確認してください。
MySQL データベースに接続する前に、次のコードに示すように、PDO
クラスを使用して PDO オブジェクトをインスタンス化する必要があります。 MySQL データベースの場合、ホスト名、データベース名、ユーザー名、パスワードなどの必要な情報を指定する必要があります。この情報は PDO コンストラクターに渡され、PDO オブジェクトが返されます。接続が失敗すると PDOException がスローされるため、try-catch ブロックを使用して例外をキャッチし、エラーを処理する必要があります。
クエリの実行
//连接到MySQL数据库,并返回PDO对象 try { $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码'); } catch (PDOException $e) { die('连接失败: ' . $e->getMessage()); }
ここでは、クエリ ステートメントを構築するための「パラメータ化クエリ」方法。複数の変数をクエリ ステートメントとして結合するのではなく、クエリ ステートメントで必要な値をパラメータの形式でexecute() メソッドに渡します。この方法により、SQL インジェクション攻撃を防止し、コードのセキュリティを向上させることができます。
execute() メソッドを実行すると、$result 変数にクエリ結果の配列が保存されます。さらに、クエリ結果を行ごとに取得するために使用できるフェッチ メソッドが他にもいくつかあります。
データの挿入と更新
try { $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码'); $sql = 'SELECT * FROM 表名 WHERE 字段1 = ? AND 字段2 = ?'; $stmt = $pdo->prepare($sql); $stmt->execute([$value1, $value2]); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { die('查询失败: ' . $e->getMessage()); }
PDO を使用してデータを更新する場合は、次のようにすることもできます。次のコードに示すように、execute() メソッドと事前定義されたパラメータ置換文字を使用して、指定されたフィールドを動的に更新します。
try { $pdo = new PDO('mysql:host=主机地址;dbname=数据库名', '数据库用户名', '数据库密码'); $sql = 'INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (?, ?, ?)'; $stmt = $pdo->prepare($sql); $stmt->execute([$value1, $value2, $value3]); $result = $stmt->rowCount(); } catch (PDOException $e) { die('插入数据失败: ' . $e->getMessage()); }
ここでは、update ステートメントを使用して、指定されたフィールドを更新します。データの挿入と同様に、PDO は事前定義された動的なパラメーターを使用してコードの安全性と正確性を保証します。
結論
以上がPDO拡張機能をPHPで使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。