搜索

首页  >  问答  >  正文

请问设置了事务机制,故意设置第2条sql语句错误,为什么最后还是执行了第1条sql语句? 不是应该回滚事务,所有不执行吗?


<?php

$pdo=new PDO('mysql:host=localhost;dbname=student','root','root');

try{

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->beginTransaction();

//第1条sql语句

$sqla="delete from chen where id=14";

$pdo->exec($sqla);

//第2天sql语句

$sqlb="delete froms chen where id=15"; //故意把from写错

$pdo->exec($sqlb);


}catch(Exception $e){

$pdo->rollBack();

$e->getMessage();

echo "操作失败";

}

?>


陈老师陈老师2370 天前1193

全部回复(1)我来回复

  • NULL

    NULL2018-05-21 10:55:04

    数据库引擎是不是MyISAM,改成InnoDB试试

    回复
    1
  • 陈老师

    嗯 是的 发现问题了 非常感谢您 厉害

    陈老师 · 2018-05-21 10:55:46
  • 取消回复