【问题标题】:Error logging mysql, best practice错误记录mysql,最佳实践
【发布时间】:2012-01-10 15:58:32
【问题描述】:

我有一个“大”的 Facebook 应用程序即将推出。它是使用 mysql(和 mysql_-class,而不是 PDO ......我知道,我知道)在 php 中编程的。由于我接近公开测试版,我想跟踪任何 mysql 错误。我有一个很好的主机,我知道脚本永远不会失去与数据库的连接,所以我想我可以将它存储在一个表中。

我想跟踪查询失败(不是问题),但我也想知道这发生在哪一行和文件中。我在一些脚本中看到了__LINE__,但是我一直不知道怎么用。

我的基地看起来像这样:

$query = 'SELECT * ...';
$result = mysql_do_query($query);

function mysql_do_query ($q) {
    [...]
}

我真正的问题是;是否可以记录函数mysql_do_query 的调用位置?什么线路等。或者有其他方法可以做到这一点吗?尝试和例外,也许?

【问题讨论】:

  • know that the script never looses connection to the database ...我非常不同意这一点
  • 好吧,我自己开发这个项目已经两年了,我的主机非常可靠,我见过的唯一问题是我的查询失败,因为结果不符合预期.我可以简单地使用一个文本文件并将其保存在那里,但我希望有更多的监控选项。所以“从不”可能是错误的,但我认为 99.9% 的错误是由我和我的编程引起的。 (@ajreal)

标签: php mysql error-handling


【解决方案1】:

您可以使用magic constants,或debug_backtrace,或编写自己的错误处理程序。

【讨论】:

  • 魔法常量似乎是要走的路,但如果我在函数中使用__LINE__ 等,它会显示函数中的行,还是函数被调用的位置?我假设我必须将 LINE 部分作为参数?
【解决方案2】:
trigger_error(mysql_error()." $q");

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 2018-03-27
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多