У меня есть скрипт, который я обновляю, заменяя встроенные запросы mysql подготовленными инструкциями PDO и запросами. Когда запрос верен или возвращает результат, он работает нормально. Однако, когда в операторе запроса есть ошибка, try / catch не работает. Например, я использовал этот тестовый код:
$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» вместо «SELECT»), поэтому поток сценария должен идти в скобках исключений / ошибок, но это не так; Я продолжаю получать "успех". Я пытался использовать catch (PDOException $ e) вместо catch (Exception $ e) с точно такими же результатами.
Что я делаю не так, и как я могу это исправить? Спасибо.