【发布时间】:2012-12-09 07:40:26
【问题描述】:
我想知道mysqli->rollback 是否会回滚所有在回滚之前已经提交的查询。
例如,在下面的代码中,第一个查询将被提交,但第二个查询会因为拼写错误的“用户名”而失败。这是否意味着回滚之前的查询会或不会被执行?
$mysqli->autocommit(FALSE);
$query = "INSERT INTO users (username, password) VALUES ('user123', '1apple')";
$query2 = "INSERT INTO users (**usernam**, password) VALUES ('user987', '2apple')";
if($resrouce = $mysqli->query($query)){
$mysqli->commit();
if($resource2 = $mysqli->query($query2)){
$mysqli->commit();
}else{
$mysqli->rollback();
}
}else{
$mysqli->rollback();
}
【问题讨论】:
-
Rollback 只回滚尚未提交的语句...
标签: php transactions mysqli commit rollback