ホームページ >バックエンド開発 >PHPチュートリアル >PHP で MySQL トランザクションを管理し、エラーを処理する方法は?

PHP で MySQL トランザクションを管理し、エラーを処理する方法は?

DDD
DDDオリジナル
2024-12-19 20:18:10665ブラウズ

How to Manage MySQL Transactions in PHP and Handle Errors?

MySQL を使用した PHP トランザクション

トランザクションは、データの整合性を確保するためにデータベース操作において重要です。ただし、特に PHP と MySQL を扱う場合、それらの実装は混乱する可能性があります。

質問:

PHP ファイル内で MySQL トランザクションを使用し、潜在的なエラーを処理するにはどうすればよいですか? ?

答え:

PHP PDO (PHP Data Objects) ライブラリは、MySQL を含むさまざまなデータベース システムと対話するための標準化されたインターフェイスを提供します。 PDO を使用すると、PHP コードでトランザクションを効果的に操作できます。

PDO でトランザクションを使用する一般的なアプローチは次のとおりです。

try {
    // Begin transaction
    $db->beginTransaction();

    // Execute queries
    $stmt1 = $db->query('query 1');
    $stmt2 = $db->query('query 2');

    // Check if all queries were successful
    if ($stmt1 && $stmt2) {
        // Commit transaction
        $db->commit();
    } else {
        // Rollback transaction
        $db->rollback();
    }
} catch (\Throwable $e) {
    // Handle error
    $db->rollback();
    throw $e;
}

追加メモ:

  • PDO がクエリの例外をスローするように構成されていることを確認します。
  • トランザクションには、特定のクエリのセットのみを含めることができます。トランザクション外のクエリは影響を受けません。

1 つのクエリが失敗した場合にクエリを自動的に失敗させることに関するご質問については、ヘッダー ファイルに配置された PHP 関数またはコードを使用してこれを行うことはできません。トランザクションでは、トランザクション内でどのクエリを実行するかを明示的に指定する必要があります。

以上がPHP で MySQL トランザクションを管理し、エラーを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。