将错误保存到MySQL数据库

时间:2016-05-10 13:38:00

标签: php mysql sql

我有一个php查询来更新MySQL数据库,见下文

$sql=("update hr_payroll set 
payroll_number='$payroll_number', 
tax_code='$tax',
bacs_ref='$bacs_ref',  
pay_frequency='$pay',
last_update_by='$user'
where employee_id='$employee'")or die('Could not connect: Error 23 ' . mysql_error());

如果此查询成功,则会在DB中插入一行,请参阅下文;

if ($conn->query($sql) === TRUE) {
$sql1 = "INSERT INTO audit_hr_employees
(tab, employee, error_type, user, result)
VALUES ('4a', '$employee', 'info', '$user', 'success')";
}

这一切都运行正常....但是如果查询不成功,我想做同样的事情,但是将错误或查询添加到数据库中。

以下是我的代码片段,我希望将信息添加到error_info列。

else
{       
$sql2 = "INSERT INTO audit_hr_employees 
(tab, employee, error_type, user, error_info)
VALUES ('4a', '$employee', 'warning', '$user', '  ')";
}

这可能吗?

1 个答案:

答案 0 :(得分:2)

看起来你是通过PHP的PDO接口连接到MySQL。您可以使用errorInfo()函数(http://php.net/manual/en/pdo.errorinfo.php)来检索最新的错误消息,并使用它来代替空白字符串:

$err = $dbh->errorInfo();

$sql2 = "INSERT INTO audit_hr_employees 
(tab, employee, error_type, user, error_info)
VALUES ('4a', '$employee', 'warning', '$user', $err[2])";
相关问题