PDO :: beginTransaction
คู่มือการใช้งาน PHP PDO อ้างอิง
PDO :: beginTransaction เริ่มต้นการทำธุรกรรม (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
คำอธิบาย
ไวยากรณ์
bool PDO::beginTransaction ( void )
ปิดโหมด autocommit โหมด Autocommit ถูกปิดในเวลาเดียวกันโดย PDO คัดค้านการเปลี่ยนแปลงเช่นทำกับฐานข้อมูลจนกว่าคุณจะเรียก PDO :: กระทำ () เพื่อยุติการทำธุรกรรมที่ถูกส่งมาเท่านั้น
โทร PDO :: ย้อนกลับ () จะย้อนกลับการเปลี่ยนแปลงที่เกิดขึ้นกับฐานข้อมูลและการเชื่อมต่อฐานข้อมูลกลับไปยังโหมด Autocommit
ฐานข้อมูลบางอย่างรวมทั้ง MySQL เมื่อคล้ายตาราง DROP ปัญหาหรือสร้างงบ DDL ตารางดังกล่าวก็จะเป็นการทำธุรกรรมโดยปริยายกระทำ
โดยปริยายหรืออย่างชัดเจนมุ่งมั่นที่จะป้องกันไม่ให้คุณย้อนกลับการเปลี่ยนแปลงอื่น ๆ ที่อยู่ในขอบเขตของการทำธุรกรรมนี้
ราคาย้อนกลับ
กลับประสบความสำเร็จจริงหรือผลตอบแทนความล้มเหลว FALSEตัวอย่าง
ย้อนกลับไปทำธุรกรรม
ตัวอย่างต่อไปนี้ของการเปลี่ยนแปลงนี้ก่อนที่จะย้อนกลับเริ่มต้นการทำธุรกรรมและปัญหาสองงบที่ปรับเปลี่ยนฐานข้อมูล
อย่างไรก็ตามใน MySQL, คำสั่งตาราง DROP โดยอัตโนมัติกระทำธุรกรรมเพื่อให้การเปลี่ยนแปลงใด ๆ ในการทำธุรกรรมนี้จะไม่ถูกยกเลิกไป
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构及数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别出错误并回滚更改 */ $dbh->rollBack(); /* 数据库连接现在返回到自动提交模式 */ ?>