gpt4 book ai didi

php - 类方法的 beginTransaction PDO

转载 作者:行者123 更新时间:2023-11-29 05:26:21 26 4
gpt4 key购买 nike

   <?php

class dbLayer
{

//connection from here

private $done;

function __construct(PDO $connection)
{
$this->done = $connection;

}

public function createAction()
{
//create a new item
}

public function readAction()
{
//read all the items
}

public function updateAction()
{

$sql = $this->done->prepare("UPDATE `sync_log` SET `Sync_Status`=? WHERE `randKey`=?");
$sql->execute(array(
$status,
$randKey
));
}

public function deleteAction()
{
//delete a item
}

}

?>

我想将 $pdo->beginTransaction(); 与类方法一起使用。如果我使用 updateAction() 方法更新失败,我如何使用 roalback() ?

最佳答案

事务性 updateAction() 示例:

public function updateAction()
{
try {
$this->done->beginTransaction();
$sql = $this->done->prepare("UPDATE `sync_log` SET `Sync_Status`=? WHERE `randKey`=?");
$sql->execute(array(
$status,
$randKey
));
$this->done->commit();
} catch (PDOException $e) {
$this->done->rollback();
}
}

请注意,如果您想返回受影响的行数,您必须在提交后执行此操作。并且您想在回滚后在 catch block 上返回 0 或 false

关于php - 类方法的 beginTransaction PDO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com