将数据库错误重新插入数据库

时间:2017-02-15 05:20:35

标签: php mysql database mysqli

我想要做的是将所有查询错误插入数据库,但是,它不起作用。我想这样做:

<?php
include('db_settings.php');

$query = $conn->query("mysql_query here");

if (!query) {
    $error = $conn->error;
    $log_error = $conn->query("INSERT INTO tab (log) VALUES ('$error')");
}
?>

但是,这不起作用,错误未提交到数据库中。 你们有没有为此知道一些解决方法?

(在有人要求之前,DB和变量的所有参数都是正确的。)

1 个答案:

答案 0 :(得分:3)

你根本就不应该这样做。

不要试图立即使用失败的媒体!

让我们提出您最近提出的一个问题:在此处遇到麻烦的错误信息,Mysqli Commands out of sync 会阻止您的wunderlogging功能!您的数据库不会胜利通过魔法恢复同步!因此将有效地防止您记录自己的错误。所以你根本就不会想到它发生了。

让错误记录,然后您就可以找到所有错误。

在代码顶部添加这三行

ini_set('log_errors',1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

然后检查服务器错误日志。

这就是每个人都这样做的方式,没有理由设计出这种笨拙且不合逻辑的设备。

相关问题