使用mysql构建php错误数据库的最佳方法?
我正在建立一个通讯CMS,我想把任何错误记录到一个数据库中,其中包含时间戳、错误、用户ID和函数信息等信息。最好的方法是什么 我想我应该构建一个类来处理错误,并使用PDO将它们输入MYsql表 伪代码:使用mysql构建php错误数据库的最佳方法?,php,mysql,sql,error-handling,pdo,Php,Mysql,Sql,Error Handling,Pdo,我正在建立一个通讯CMS,我想把任何错误记录到一个数据库中,其中包含时间戳、错误、用户ID和函数信息等信息。最好的方法是什么 我想我应该构建一个类来处理错误,并使用PDO将它们输入MYsql表 伪代码: class sbmtErr { private $errStrng; protected function sndErr($err, $usrData, $mthd){ $sndErrPDO = new myPDO; $this->errS
class sbmtErr
{
private $errStrng;
protected function sndErr($err, $usrData, $mthd){
$sndErrPDO = new myPDO;
$this->errStrng = "INSERT INTO errTbl (error, userID, method) VALUES ('".$err."', ".usrData['usrID'].", '".$mthd."')";
$sndErrPDO->sqlQry($errStrng);
}
}
我的问题是我不知道如何隔离抛出错误的方法
有更好的方法吗
谢谢。扩展异常类
CMSErrorException
,抛出时(即在构造上)使用反射来查找函数、行号等。如何查找用户id取决于如何保留它
然后,不管捕获它时做了什么,都要调用一个方法(同样来自构造),将它记录到数据库中
小心不要在异常代码中抛出这些自定义异常,因为在发生数据库错误时,它可能会导致无限循环 如果数据库出现故障,您将在何处记录错误?;)看一看,我不会让人们用这些名字!SubmitError、$errorString、$sendErrorPDO。为什么是愚蠢的速记?你误解了“真相”试图表达的观点。如果可以使用submitError或$sendErrorPDO,那么为什么要使用sbmtErr或$sndErrPDO这样的“愚蠢速记”,因为它们更清晰、更具描述性。我想这就是他编码时使用的。除了“e”之外?你看起来还可以:)亲爱的,我今晚要试试这个。