トランザクションは、データベース内の操作のアトミックな単位であり、すべてが成功するか、すべてがロールバックされます。 PHP はトランザクション操作をサポートしているため、データベース操作のセキュリティと一貫性を確保できます。
トランザクションは、すべての操作が正常に実行されるか、すべて失敗してロールバックされてデータの整合性が確保される、完全な操作単位です。
PHP は、次のような ACID トランザクションをサポートします。
mysqli_begin_transaction()関数を使用してトランザクションを開始します。
<?php
$conn = new mysqli("host", "username", "password", "database");
$conn-> begin_transaction();
?>トランザクション内のすべての操作が完了したら、 mysqli_commit() を使用してトランザクションをコミットします。
<?php $conn->専念(); ?>
トランザクション内の操作が失敗した場合は、 mysqli_rollback() を使用してトランザクションをロールバックできます。
<?php $conn->ロールバック(); ?>
次の例は、PHP でトランザクションを使用して操作する方法を示しています。
<?php
$conn = new mysqli("host", "username", "password", "database");
$conn-> begin_transaction();
$sql = "ユーザーを更新する SET バランス = バランス + 100 WHERE id = 1";
$conn->クエリ($sql);
$sql = "アカウントを更新する SET 残高 = 残高 - 100 WHERE id = 2";
$conn->クエリ($sql);
$conn->commit();
?>この例では、2 番目の更新ステートメントが失敗すると、トランザクションはロールバックされ、どちらの操作もデータベースに適用されないため、データの整合性と一貫性が確保されます。