PHP PDO は PHP Data Objects の略称で、PHP がデータベースを操作するために使用する強力なツールです。 PHP PDO は、以前の MySQL 拡張機能よりも優れた機能、優れたパフォーマンス、および優れたセキュリティを提供します。この記事では、初心者から熟練者までを導き、データベース操作における PHP PDO の強力なツールについて詳しく説明します。
まず、PHP PDO を使用してデータベースとの接続を確立する方法を理解する必要があります。以下は、MySQL データベースに接続するためのサンプル コードです。
$dsn = 'mysql:host=localhost;dbname=test_db'; $ユーザー名 = 'ルート'; $password = 'パスワード'; 試す { $pdo = 新しい PDO($dsn, $username, $password); echo "データベースに正常に接続されました"; } catch(PDOException $e) { echo "接続に失敗しました:" . $e->getMessage(); }
上記のコードでは、PDO
クラスを使用して MySQL データベースとの接続を確立します。 $dsn
変数は、接続のデータベース タイプ、ホスト名、データベース名を定義します。$username
と $password
は、ログインするためのユーザー名とパスワードです。それぞれデータベースに保存します。 try...catch
構造体を使用して、接続プロセス中に発生する可能性のある例外をキャッチします。
次に、単純な SQL クエリを実行してデータベース内のデータを取得します。
$stmt = $pdo->query('SELECT * FROM users'); while($row = $stmt->fetch()) { echo $row['id'] . ' - ' . $row['username'] . '<br>'; }
上記のコードでは、$pdo->query()
メソッドを通じてクエリ ステートメントを実行し、users
テーブル内のすべてのデータを取得しました。 fetch()
メソッドを使用して 1 行ずつ出力します。
基本的な接続とクエリの操作に慣れたら、トランザクション処理やプリペアド ステートメントなどの高度な操作を学習し始めることができます。
トランザクション処理は、データベース操作を実行する際にデータの整合性と一貫性を維持するための重要な手段です。以下は簡単なトランザクション処理の例です。
$pdo->beginTransaction(); 試す { $pdo->exec("ユーザー (ユーザー名、電子メール) の値に挿入 ('john', 'john@example.com')"); $pdo->exec("UPDATE 製品 SET 在庫 = 在庫 - 1 WHERE id = 123"); $pdo->commit(); echo "トランザクションは正常に送信されました"; } catch(PDOException $e) { $pdo->rollBack(); echo "トランザクション ロールバック:" . $e->getMessage(); }
上記のコードでは、最初に $pdo->beginTransaction()
を呼び出してトランザクションを開始し、次に挿入操作と更新操作を順番に実行し、最後に $ を渡します。 pdo->commit ()
トランザクションをコミットします。途中で例外が発生した場合は、catch
ステートメントで $pdo->rollBack()
を呼び出してトランザクションをロールバックします。
プリプロセス ステートメントは、SQL インジェクション攻撃を効果的に防止し、クエリのパフォーマンスを向上させることができます。以下は簡単なプリペアドステートメントの例です:
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username'); $stmt->execute([':username' => 'john']); $results = $stmt->fetchAll(); foreach ($results as $row) { echo $row['id'] . ' - ' . $row['username'] . '<br>'; }
上記のコードでは、prepare
メソッドを使用して名前付きパラメーターを持つ SQL クエリ ステートメントを作成し、execute
メソッドを通じてパラメーターを渡します。最後に、fetchAll
メソッドを使用してクエリ結果を取得します。
基本的な接続、クエリ、トランザクション処理、準備されたステートメントに加えて、PHP PDO はストアド プロシージャ、バッチ挿入などの一連の高度な機能もサポートしています。ここでは単純なストアド プロシージャ呼び出しの例を示します。
$stmt = $pdo->prepare("CALL get_user_info(:id)"); $stmt->bindParam(':id', 123, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetch(); echo "User Name: " . $result['username'] . " Email: " . $result['email'];
上記のコードでは、ストアド プロシージャを呼び出しますget_user_info
、パラメータ id
に渡されます。ストアド プロシージャによって返された結果は、fetch
メソッドを通じて取得され、ユーザーの名前と電子メール アドレスが出力されます。
この記事の導入部を通じて、誰もが PHP PDO の強力な機能について予備的に理解できたと思います。入門から熟練に至るまで、PHP PDO はデータベース操作の右腕アシスタントとなります。学習と探索を続けて、PHP PDO のさらに多くのブラック テクノロジを発見してください。
以上がPHP PDO を探索する: データベース操作の開始から習熟までをサポートする強力なツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。