【发布时间】:2011-01-09 03:22:25
【问题描述】:
我的平台:
PHP 和 mySQL
我的情况:
我正在尝试在我的代码中实现事务。我试图按照示例进行操作,但这并没有太大帮助。我正在运行 3 个查询,并且我想以这样的方式编写一个事务,以便如果任何查询失败,整个事务都应该回滚。我非常感谢一个简单、高效且非面向对象的 PHP 代码来实现这一目标。提前谢谢你。
我的 PHP 代码:
//db_res calls a custom function that performs a mysql_query on the query
$res1 = db_res("SELECT c1, c2 FROM t1 WHERE c5 = 3");
$res2 = db_res("UPDATE t2 SET c1 = 5 WHERE c2 = 10");
$res3 = db_res("DELETE FROM t3 WHERE c1 = 20");
if( $res1 && $res2 && $res3 )
{
//commit --- but how?
}
else
{
//rollback --- but how?
}
【问题讨论】:
-
检查这个dev.mysql.com/doc/refman/5.0/en/commit.html。这应该会指引你朝着正确的方向前进。
-
在stackoverflow.com/questions/2708237/…必须阅读的同一问题上给出了一个简单而出色的答案/示例(try catch),以清晰明了的方式准确地说明了要做什么。
标签: php mysql transactions commit rollback