1

我想将我的 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 列中,该表设置为 VARCHAR,最大字符数为 250

我以为它只是在那里设置了一个东西,但显然我离题了。

4

1 回答 1

2

您插入语句可以解析为:

插入错误日志 (error_message) 值 ('foo')

这是无效的。

确保把那个空间放在那里。

您可能希望将 MySQL 错误语句放入 中,die(..)以便下次更好地查看错误。

另外 – 请在将您的数据输入语句之前转义它……您现在这样做的方式可能会导致一些大的Bobby Tables问题……

请不要mysql_*在新代码中使用函数。它们不再被维护,并且已经开始弃用过程。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2012-12-05T20:38:01.300 回答