ホームページ > バックエンド開発 > PHPの問題 > PHP で PDO::beginTransaction を正しく使用する方法

PHP で PDO::beginTransaction を正しく使用する方法

autoload
リリース: 2023-03-09 12:20:01
オリジナル
1721 人が閲覧しました

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();
}
?>
ログイン後にコピー

2. オープン トランザクション:

    $pdo->beginTransaction();
/* 在全有或全无的基础上插入多行记录(要么全部插入,要么全部不插入) */
    $sql = "INSERT INTO fate (id, name, age)VALUES (10,&#39;王五&#39;,27)";
    $sth = $pdo->exec($sql);

/* 提交更改 */
$pdo->commit();
/* 现在数据库连接返回到自动提交模式 */
ログイン後にコピー

おすすめ:

2021 PHP 面接質問まとめ (集)》《php ビデオチュートリアル

以上がPHP で PDO::beginTransaction を正しく使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート