我有一個腳本,我正在通過用PDO準備的語句和查詢替換內聯mysql查詢來進行更新。當查詢正確或返回結果時,它工作正常。但是,當查詢語句中有錯誤時,try/catch將無法正常工作。例如,我用這個測試代碼:Try/Catch不能與此PDO查詢一起工作
$query = $this->dbh->prepare('SELEC menu_item, hyperlink, admin FROM top_menu;');
try
{
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC));
die("success");
}
catch(Exception $e)
{
die("fail");
}
查詢是錯誤的(「SELEC」,而不是「選擇」),因此該腳本的流程應該進入異常/錯誤括號,但它沒有按「T;我一直在獲得「成功」。我試過catch(PDOException $ e)而不是catch(Exception $ e),結果完全相同。
我在做什麼錯,我該如何解決這個問題?謝謝。