【发布时间】:2014-01-06 16:38:41
【问题描述】:
我有以下通用的 sn-p 代码,我用它来尝试捕获 mysqli 错误并将它们放入我拥有的表中,该表将保留错误日志。我只是输入了一个通用 SQL 语句,该示例会出错:
$sql = "UPDATE table_x SET mycol = 1/0";
if(!$conn->query($sql))
{
$err = $conn->error;
$conn->rollback();
$conn->query("INSERT INTO my_error_log (page_name, error_text, time_stamp) VALUES ('" . basename(__FILE__) . " Line:" . __LINE__ . "', '$err', NOW())");
$conn->commit();
die("Error occurred");
}
事务回滚,但没有任何内容写入 my_error_log 表。
感谢您的帮助!
【问题讨论】:
-
您在该代码中容易受到 SQL 注入攻击,这意味着
$err可能包含'并且正在杀死插入。
标签: php insert mysqli rollback