PHP を使用した複数の MySQL クエリの実行
PHP で連続した MySQL ステートメントを実行するには、mysqli_query() 関数を利用できます。ただし、構文エラーが発生する可能性があるため、複数のクエリを 1 つの文字列に連結しないようにすることが重要です。
構文の修正:
提供されたコード スニペットには構文が含まれていますエラー。これを解決するには、以下に示すように、複数のクエリを個別に実行する必要があります。
$conn = new mysqli("localhost", "root", "password", "database"); // Establish database connection $tmpQuery = "CREATE TEMPORARY TABLE tmp SELECT * FROM event_categoriesBU WHERE id = 1"; $result = $conn->query($tmpQuery); $updateQuery = "UPDATE tmp SET>
このアプローチにより、文字列連結の必要がなくなり、各クエリが独立して実行されるようになります。
トランザクションの使用:
複数のクエリを含む複雑なトランザクションの場合は、アトミック性を確保するためにトランザクションを使用することをお勧めします。トランザクションは、トランザクション内のすべてのクエリがすべて成功するか、どれも成功しないかのいずれかを保証できます。トランザクションを使用するには、次の手順に従います。
$conn->begin_transaction(); // Execute multiple queries here $conn->commit(); // Commit the transaction if successful
例外処理:
クエリの実行中に発生する可能性のある例外を処理するには、以下を使用して例外を有効にする必要があります。 set_Exception_handler(function($errno, $errstr) { $conn->rollback(); $conn->close(); })。これにより、例外が発生した場合、トランザクションがロールバックされ、接続が閉じられるようになります。
追加の考慮事項:
以上がPHP でトランザクションと例外処理を使用して複数の MySQL クエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。