我想要做的是将所有查询错误插入数据库,但是,它不起作用。我想这样做:
<?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和变量的所有参数都是正确的。)
答案 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);
然后检查服务器错误日志。
这就是每个人都这样做的方式,没有理由设计出这种笨拙且不合逻辑的设备。