如何在使用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