Почему это исключение PDO не будет поймано? [закрыто]

У меня есть INSERT, завернутый в try / catch, но отсутствующая таблица не перехватывается, и PHP выдает ошибку при $ dbh-> prepare. Я установил 'PDO :: ATTR_ERRMODE' и значение, отображаемое в браузере непосредственно перед тем, как $ dbh-> prepare 'равно 2.

Если таблица существует, INSERT работает, как я ожидал. Я обнаружил, что во время тестирования возникла проблема, когда я намеренно отбросил таблицу и запустил код.

Что я упустил?

заранее спасибо

Неустранимая ошибка PHP: необработанное исключение «PDOException» с сообщением «SQLSTATE [HY000]: общая ошибка: 1 нет такой таблицы: submit_info» в C: \ etc \ httpd \ htdocs \ sqlite_data \ collect.php: 309

if($our->db['save']) {
    try {
        echo $dbh->getAttribute(constant('PDO::ATTR_ERRMODE'));
        $sth = $dbh->prepare(
            "INSERT INTO submit_info( post_time, post_completed, post_size , script_name, user_agent  )" .
            " VALUES ( datetime(:request_time, 'unixepoch'), datetime(:current_time, 'unixepoch'), :content_length, :script_filename, :user_agent );"
            );
        $sth->bindValue(':request_time', (@$_SERVER['REQUEST_TIME'] + 0), PDO::PARAM_INT);
        $sth->bindValue(':current_time', time(), PDO::PARAM_INT);
        $sth->bindValue(':content_length', (@$_SERVER['CONTENT_LENGTH'] + 0), PDO::PARAM_INT);
        $sth->bindValue(':script_filename', @$_SERVER['SCRIPT_FILENAME'], PDO::PARAM_STR);
        $sth->bindValue(':user_agent', (@$_SERVER['HTTP_USER_AGENT'] . ''), PDO::PARAM_STR);
        $sth->execute();
        $our->db['submit_id'] = $dbh->lastInsertId();
    } catch (PDOExeption $e) {
        echo "There was an error!"; # try writing something to the browser temporarily
        errors("Error writing page load information to database: " . $e->getMessage());
        $our->db['save'] = FALSE;
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос