Php和Mysqli与交易

时间:2015-08-14 10:06:15

标签: php mysqli

我的交易有问题,因为如果我尝试输入错误的查询, 系统不应该进入。

而是系统插入第一个查询,而第二个不是, 并且不会进入回滚

这是我的代码:

$conn = connect();

try {
     /* set autocommit to off */
     $conn->autocommit(FALSE);

    /* MY QUERY */
    $conn->query("INSERT INTO `transazioni` (`id`, `nome`, `numero`) VALUES (NULL, 'luca', '12')");
    $conn->query("I--NSERT INTO `transazioni` (`id`, `nome`, `numero`) VALUES (NULL, 'paolo', '12')");

   /* commit transaction */
   $conn->commit();

    } catch (Exception $e) {
      // faccio rollback
      $conn->rollback();
      echo "enter in rollback";
}           

我该如何解决?

由于 安德烈

1 个答案:

答案 0 :(得分:0)

你的问题是由mysql引擎引起的。 MyISAM不支持交易,您必须更改为InnoDB。

另请注意,除非configure mysqli for that explicitly.

,否则您的捕获块无效