В Kohana 3, как вы обнаруживаете ошибки, допущенные во время запроса?

Я использую Kohana 3.

Я пишу запрос на обновление, и он работает для всего, кроме этого одного раздела.

Если я сделаю var_dump() по итогам $db->execute() Я получаю 1 или 0, чтобы сказать, что это не удалось или нет. В этом примере происходит сбой (возвращается 0).

Как я могу выяснить, какая ошибка происходит? Это оправдывает, кажется, молчаливый провал в настоящее время. Я пытался делать echo mysql_error() но это не сработало, как я ожидал, так как библиотека db Kohana 3 использует PDO, я в этом уверен.

Как я могу выяснить произошедшую ошибку?

3 ответа

Решение

Попробуйте выполнить это после вызова $db->execute():

echo Database::instance()->last_query

Должно выдать исключение, если это ошибка SQL. Вы можете поймать это и повторить это, чтобы получить ошибку. Смотрите http://kerkness.ca/wiki/doku.php?id=crud_with_the_query_builder

Внутри контроллера запустите профилировщик:

$this->profiler = new Profiler;

А затем после рендеринга View вы увидите список запросов, которые были выполнены. Попробуйте их, подключившись к базе данных или используя некоторое программное обеспечение (например, MySQL Query Browser).

Удачи!

Другие вопросы по тегам