php - mysql_query() 事务简单示例

标签 php mysql

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

在我的简单基础中,我有一个名为“persons”的表,有 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 个和第一个 person_id 的人员时,它应该转到回滚,因为我的库中没有数据(库完全是空的),但浏览器显示“这是提交”。

我该如何修复此交易。

最佳答案

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

关于php - mysql_query() 事务简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30244591/

相关文章:

php - 如何缓存个性化新闻提要以最小化数据库读取查询?

PHP - 正则表达式 - 匹配长度

php - 捆绑一组通知

mysql - 如何修复回调已经在环回模型中调用

php - fatal error : Nesting level too deep - recursive dependency?

php - 为 php 安装 pdf

php - MySQL UPDATE 和 INSERT 都返回有关错误语法的错误消息,但在 phpMyAdmin 上尝试时它是正确的语法

c++ - 如何通过使用sql查询仅将值添加到一张表来将值插入到不同的表中?

php - 我正在尝试通过 href 将一个值传递给 php 页面,以从 mysql 数据库的那一行检索其余数据

MySQL LEFT JOIN 很慢,需要 27.82 秒