mysql_query()事务简单的例子

时间:2015-05-14 18:23:35

标签: php mysql

我想在我的代码中使用事务。但它不起作用。

在我的简单基础中,我有一个名为“人员”的表,有2列(person_id,name),但它还没有数据。

mysql_query("SET AUTOCOMMIT=0");
mysql_query("START TRANSACTION");

$a1 = mysql_query("DELETE FROM persons WHERE person_id='5'");
$a2 = mysql_query("DELETE FROM persons WHERE person_id='1'");

if ($a1 and $a2) {
  mysql_query("COMMIT");
  echo "this is commit";
} else {        
mysql_query("ROLLBACK");
echo "this is rollback";
} 
}

当我删除有第5个和第1个person_id的人时,它应该转到ROLLBACK,因为我没有基数(基数完全为空),但浏览器显示“这是提交”。

如何解决此事务。

1 个答案:

答案 0 :(得分:1)

通过使用mysql_affected_rows,我们可以检查行是否受到影响。