PHP は人気のあるサーバーサイド スクリプト言語であり、その主な目的は Web アプリケーションの開発です。データベース接続は Web アプリケーションの重要な部分です。この記事では、PHP Data Objects (PDO) を使用してデータベースに接続する方法を紹介します。 PDO は、さまざまなデータベースと対話するためのシンプル、安全、高速な方法を提供する PHP の抽象化レイヤーです。この記事では、例として MySQL を使用します。
PDO を使用してデータベースに接続する前に、PDO 拡張機能が PHP にインストールされており、拡張機能が有効になっていることを確認する必要があります。そうでない場合は、PDO 拡張機能を PHP 構成ファイル (php.ini) に追加する必要があります。次のコマンドを使用して、PDO 拡張機能が有効になっているかどうかを確認できます。
php -m | grep pdo
リストに PDO と PDO_MYSQL が表示されている場合は、PDO を使用して MySQL データベースに接続する準備ができています。
MySQL データベースへの接続の最初のステップは、PDO オブジェクトを作成することです。 PDO オブジェクトを作成するには、次の情報を指定する必要があります。
次は、MySQL データベースに接続するための PDO コードの例です:
<?php $hostname = 'localhost'; // MySQL主机名 $database = 'mydatabase'; // 数据库名称 $username = 'myusername'; // 用户名 $password = 'mypassword'; // 密码 try { $dsn = "mysql:host=$hostname;dbname=$database"; $pdo = new PDO($dsn, $username, $password); echo '成功连接到数据库!'; } catch (PDOException $exception) { die('连接数据库时发生错误:'.$exception->getMessage()); }
上記のコードでは、変数 $dsn を使用して、MySQL データベースに接続する DSN を保存します。 。この DSN の形式は、「mysql:host=ホスト名;dbname=データベース名」です。この DSN を PDO コンストラクターに渡して、PDO オブジェクトを作成します。接続に成功すると「データベースに正常に接続されました!」というメッセージが出力されます。エラーが発生した場合は、catch ブロックを使用するとエラー メッセージが出力されます。
MySQL データベースに接続した後、さまざまなクエリを実行してデータを取得し、データベースを更新できます。 PDO を使用して PHP で MySQL クエリを実行する例をいくつか示します。
$sql = "SELECT * FROM users WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->execute(['id' => 1]); $result = $stmt->fetchAll(); print_r($result);
上記の例では、PDO の prepare メソッドを使用して Prepare を実行しました。クエリステートメント。クエリステートメント内の変更が必要な部分 (つまり、「id = :id」の「:id」) をプレースホルダーに置き換えます。 execute メソッドを使用してクエリ ステートメントを実行し、クエリするプレースホルダー値をそれに渡します。最後に、fetchAll メソッドを使用して、結果が配列として返されます。
$sql = "INSERT INTO users (name, email) VALUES (?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute(['John Doe', 'johndoe@example.com']); echo $stmt->rowCount() . ' 行数据已添加到数据库';
上の例では、PDO の prepare メソッドを使用してクエリ ステートメントを準備します。クエリ ステートメント内のプレースホルダーは「?」に置き換えられます。 execute メソッドを使用してクエリ ステートメントを実行し、挿入するプレースホルダー値をクエリ ステートメントに渡します。最後に、rowCount メソッドを通じて挿入されたレコードの数を取得します。
$sql = "UPDATE users SET name = ? WHERE id = ?"; $stmt = $pdo->prepare($sql); $stmt->execute(['Jane Doe', 1]); echo $stmt->rowCount() . ' 行数据已更新';
上記の例では、PDO の prepare メソッドを使用してクエリ ステートメントを準備します。クエリ ステートメント内のプレースホルダーは「?」に置き換えられます。 execute メソッドを使用してクエリ ステートメントを実行し、更新するプレースホルダー値をクエリ ステートメントに渡します。最後に、rowCount メソッドを使用して、更新されたレコードの数を取得します。
$sql = "DELETE FROM users WHERE id = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([1]); echo $stmt->rowCount() . ' 行数据已删除';
上記の例では、PDO の prepare メソッドを使用してクエリ ステートメントを準備します。クエリ ステートメント内のプレースホルダーは「?」に置き換えられます。 execute メソッドを使用してクエリ ステートメントを実行し、削除するプレースホルダー値をクエリ ステートメントに渡します。最後に、rowCount メソッドを使用して、削除されたレコードの数を取得します。
データベースに対するクエリ操作が完了したら、データベース接続を閉じることをお勧めします。これにより、残りのスクリプト実行中に不要な接続が維持されることがなくなり、高負荷時のデータベース サーバーのリソース消費が削減されます。 PHP で PDO を使用して MySQL データベースに接続する場合、次のコードを使用して接続を閉じることができます:
$pdo = null;
上記のコードでは、$pdo は MySQL データベースに接続するときに作成した PDO オブジェクトです。 PDO オブジェクトが閉じられると、PDO オブジェクトは破棄され、データベースへの接続が解放され、他のクライアントとの新しいデータベース接続を確立できるようになります。
概要
PHP データ オブジェクト (PDO) を使用して MySQL データベースに接続すると、データベース操作をより簡単かつ迅速に実行できるようになります。この記事では、データベース接続とクエリに PDO オブジェクトを使用する基本的な方法を紹介しました。 PDO の詳細と高度な機能を理解したい場合は、公式 PHP ドキュメントを参照し、継続的な練習を通じて経験を増やすことができます。
以上がPDOを使用してPHPでデータベースに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。