Отладка - номер строки в файле с ошибкой

yujin

Новичок
Отладка - номер строки в файле с ошибкой

Есть запросы к бд, с помощью стандартной фунции
PHP:
mysql_query($query)or trigger_error("Error:  ".mysql_error() ."\nQuery: ". $query)
Если запрос ошибочен то выводится номер строки и файл в котором ошибка
Чтобы сократить код (а так же например считать запросы или делать что либо еще) можно написать функцию в отдельном файле
PHP:
function db_query($query, $debug = 0){  

  $result = mysql_query($query);
  if ($debug) {
    print '<p>query: '. $query .'<br />error:'. mysql_error() .'</p>';
  }
  if (!mysql_errno()) {
    return $result;
  } else {
    trigger_error("Error:  ".mysql_error() ."\nQuery: ". $query, E_USER_WARNING);
    return FALSE;
  }
}
И использовать ее. Но в таком случае получается что если будет ошибка, то файл и номер строки будет всегда один и тотже
Есть ли возможность находить то место откуда вызывается функция?
 

Wicked

Новичок
[m]debug_backtrace[/m]()
[m]debug_print_backtrace[/m]()
если используется xdebug, также можно заюзать xdebug_get_function_stack()

-~{}~ 17.08.08 14:30:

еще можно использовать exception'ы - в них тоже содержится информация о стэке
 
Сверху