我想将我的PHP创建的错误日志存储到MySQL表中,但没有插入任何内容。
我用于错误日志的代码是..
function myHandler($code, $msg, $file, $line)
{
echo "An error occurred while processing your request. Please visit our site and try again.";
// log error to file, with context
$logData = date("d-M-Y h:i:s", mktime()) . ", $code, $msg, $line, $file\n";
die("Error");
}
带有
行$insert = "INSERT INTO error_logs (error_message)"."VALUES ('$logData')";
mysql_query($insert)or die();
将日志插入error_logs表中的error_message列,该表设置为带有250个字符上限的VARCHAR
我认为它只是在那里设置了一些东西,但显然我已经远离标记了。
答案 0 :(得分:2)
您插入的语句可以解析为:
INSERT INTO error_logs(error_message)VALUES('foo')
无效。
确保将那个空间放在那里。
您可能希望将MySQL错误声明放入die(..)
,以便下次更好地查看错误。
此外 - 请请请 在将数据输入声明之前将其转义....您现在的做法可能导致一些大的{{3}问题......
Bobby Tables。它们不再被维护,Please, don't use
mysql_*
functions in new code已经开始了。请参阅deprecation process?转而了解red box,并使用prepared statements或PDO - MySQLi将帮助您确定哪个。如果您选择PDO this article。