Rumah >pembangunan bahagian belakang >masalah PHP >如何正确使用PHP中的PDO::beginTransaction

如何正确使用PHP中的PDO::beginTransaction

autoload
autoloadasal
2021-04-26 09:52:131730semak imbas

    事务是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视频教程

Atas ialah kandungan terperinci 如何正确使用PHP中的PDO::beginTransaction. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn