У меня появилось «большое» приложение для Facebook. Он запрограммирован в php с использованием mysql (и mysql_-class, а не PDO … Я знаю, я знаю). Поскольку я близок к открытой бета-версии, я бы хотел отслеживать любые mysql-ошибки. У меня хороший хост, и я знаю, что сценарий никогда не теряет связи с базой данных, поэтому я решил сохранить это в таблице.
Я хотел бы отслеживать запрос, выполняющий сбой (не проблема), но я также хотел бы знать, в какой строке и файле это произошло. Я видел __LINE__
в нескольких сценариях, но я никогда не понял, как использовать его.
Моя база выглядит так:
$query = 'SELECT * ...'; $result = mysql_do_query($query); function mysql_do_query ($q) { [...] }
Мой настоящий вопрос: можно ли записывать, откуда была вызвана функция mysql_do_query
? Какая линия и т. Д. Или есть другой способ сделать это? Попытка и исключения, может быть?
Вы можете использовать магические константы или debug_backtrace или написать собственный обработчик ошибок.
trigger_error(mysql_error()." $q");