我有一個查詢希望看到SQL錯誤報告
INSERT INTO table (id) VALUES (5);
表已經有這樣的ID的記錄。所以查詢失敗。
我的mysqli類擴展看起來是這樣的:
<?php
class my_mysqli extends mysqli {
function __construct($config) {
$this->DB = parent::__construct($config['HOST'], $config['USER'], $config['PASS'], $config['DB']);
}
function exe($sql) {
if (! $st = $this->DB->prepare($sql)) {
trigger_error($st->error); // this one isn't triggered
}
if (! $st->execute()) {
trigger_error($st->error); // this one is triggered
}
// ..then parse results and close
}
}
右$mysqli->execute()
我登錄$mysqli->error
,並得到後:
*未知事先準備好的聲明處理器(0)給mysqld_stmt_execute *
但我希望看到SQL錯誤,而不是:
重複條目'5'爲鍵「PRIMARY」
顯示您的實際代碼。看起來你沒有正確地準備一個陳述,然後以某種方式錯誤地執行它。 – 2013-05-13 21:19:38