我的交易有问题,因为如果我尝试输入错误的查询, 系统不应该进入。
而是系统插入第一个查询,而第二个不是, 并且不会进入回滚
这是我的代码:
$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";
}
我该如何解决?
由于 安德烈
答案 0 :(得分:0)
你的问题是由mysql引擎引起的。 MyISAM不支持交易,您必须更改为InnoDB。
,否则您的捕获块无效