我试图做的是将所有查询错误都插入到数据库中,但它不起作用。我想这样做:将数据库错误重新插入到数据库中
<?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和变量的所有参数都是正确的)。
因为它似乎'$ query = $ conn-> query(“mysql_query here”);'正常运行,这就是为什么如果块条件变为假 –
你检查过自动提交是否启用?如果不是,使用提交也许可以解决 – Massimo
**警告**:使用'mysqli'时,您应该使用[参数化查询](http://php.net/manual/en/mysqli.quickstart.prepared-statements。 php)和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)将用户数据添加到您的查询中。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **绝不**将'$ _POST'或'$ _GET'数据直接放入查询中,如果有人试图利用您的错误,这会非常有害。 – tadman