如何在使用mysqli时正确处理交易和准备语句的错误?mysqli - 处理交易错误
段:
<?php
$conn = require_once 'dbconn.php';
$conn->autocommit(FALSE);
$stmt_ins_option = $conn->prepare('INSERT INTO options(option_name) VALUES(?)');
$option_name = 'foo';
$stmt_ins_option->bind_param('s', $option_name);
$stmt_ins_option->execute();
$conn->commit();
if($conn->errno) {
$conn->rollback();
echo $conn->error;
}
,因为有该列UNIQUE约束它不会增加它第二次。
但是,脚本也不会报告任何错误。
我错过了什么?
有什么办法让mysqli类抛出异常,而不是每次都检查错误吗? – Flavius 2012-02-19 16:02:47
@Flavius:我不瘦(我可能是错的,我有一段时间没有使用PHP)。但是,您总是可以选择编写自己的类,该类继承自'mysqli'并重写一对方法,以便引发异常。 – a1ex07 2012-02-19 16:19:20