首页 > PHP教程 > php开发知识文章

php mysql数据库事务回滚的实现

本文实例讲述了php事务回滚简单实现方法。分享给大家供大家参考,具体如下:

数据库事务

事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 

例如:A向B转账100元,对A和B账户金额的操作就要使用事务

数据库默认事务是自动提交的,就是发一条sql它就执行一条,如果想多条sql放在一个事务中执行,则需要使用如下语句:

start transaction  …  commit

数据库开启事务命令:

start transaction :开启事务

rollback:回滚事务

commit:提交事务

php mysql数据库事务回滚的实现

$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "php_user";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//开始事务
$conn->beginTransaction();
$conn->exec("INSERT INTO `user` (`firstname`,`lastname`,`email`) VALUES
('YE','AA','aa@163.com')");
$conn->exec("INSERT INTO `user` (`firstname`,`lastname`,`email`) VALUES
('YE','12','aa@qq.com')");
$conn->exec("INSERT INTO `user` (`firstname`,`lastname`,`email`) VALUES
('FANG','liu','a1@168.com')");
//提交事务
$conn->commit();
echo "New records created successfully!";
} catch (PDOException $e) {
//回滚事务
$conn->rollBack();
echo $sql . "<br>" . $e->getMessage();
}
$conn = NULL;

以上就是本文php mysql数据库事务回滚的实现的全部内容,希望本文所述对大家PHP程序设计有所帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。