SQL ではトランザクションが一般的な操作です。日常業務では、データベースの追加、削除、変更が頻繁に必要になります。データを操作する際には、必ず問題が発生します。このような大きな問題を回避するには、間違いです。
PHP には
beginTransaction 関数が用意されています。この記事を参照してください。
beginTransaction() 関数の構文を見てみましょう:
beginTransaction ( )
PDO オブジェクト インスタンスを通じてデータベースに加えられた変更は、トランザクションを終了するために
PDO::commit() が呼び出されるまでコミットされません。
PDO::rollBack() を呼び出すと、データベースに加えられた変更がロールバックされ、データベース接続が自動コミット モードに戻ります。
true を返し、失敗した場合は
false を返します。
1. データベース接続部分:
<?php $servername = "localhost"; $username = "root"; $password = "root123456"; $dbname = "my_database"; try { $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); echo "连接成功"."<br>"; $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); } catch(PDOException $e) { $pdo->rollBack(); echo $e->getMessage(); } ?>
$pdo->beginTransaction(); /* 在全有或全无的基础上插入多行记录(要么全部插入,要么全部不插入) */ $sql = "INSERT INTO fate (id, name, age)VALUES (10,'王五',27)"; $sth = $pdo->exec($sql); /* 提交更改 */ $pdo->commit(); /* 现在数据库连接返回到自动提交模式 */
《2021 PHP 面接質問まとめ (集)》《php ビデオチュートリアル 》
以上がPHP で PDO::beginTransaction を正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。