MySQLi
mysqli 使用的是mysqli_driver::$report_mode (或是mysqli_report)。例如,如果要在發生查詢錯誤時丟出例外 (但是忽略警告),可以進行下列的設定:
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT;
$driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT;
或是簡單的使用
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
其中,MYSQLI_REPORT_ERROR 代表開啟錯誤報告,MYSQLI_REPORT_STRICT 代表在錯誤時丟出例外 (throw Exceptions for errors);管道符號 | 是位元運算子中的 "或",可以用來設定多個旗標 (bitwise disjunction of flags)。
PDO
PDO 使用的是 PDO::setAttribute。例如,如果要在發生查詢錯誤時丟出例 (但是忽略警告),可以進行下列的設定:
$connection = new pdo("mysql:localhost;dbname=db_name", "user_name", "user_password");
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
其中,PDO::ATTR_ERRMODE 代表開啟錯誤報告,PDO::ERRMODE_EXCEPTION 代表在錯誤時丟出例外。
沒有留言:
張貼留言