将所有错误存储在一个表中

时间:2013-10-15 14:06:51

标签: php mysql

为了创建我的网站的概述,我想存储人们所做的每一个动作。 所以我做了这个部分:

<?php 
if($errors) {
    foreach($errors as $error) {
        $result = mysql_query("INSERT INTO deverror (id, ip, page, message, datum) VALUES       (NULL, '".$ip."', 'http://scrshot.com/dev.php', '".$error."', '".$today."')", $connection);
    }
} 
?>

现在我遇到了问题。如果我犯了错误,它会在错误屏幕上生成3行:

In separate rows

如何将所有这些“错误/错误”放在一行中,像这样?

All in one row

(注意:是的,我知道我使用的是mysql而且它很愚蠢。)

2 个答案:

答案 0 :(得分:3)

使用换行符破坏您的错误数组。

<?php 
if($errors){
    $allErrors = implode("\n", $errors);
    $result = mysql_query("INSERT INTO deverror (id, ip, page, message, datum) VALUES (NULL, '".$ip."', 'http://scrshot.com/dev.php', '".$allErrors."', '".$today."')", $connection);
} 
?>

显然你在现场环境中使用mysqli / PDO。

答案 1 :(得分:0)

<?php 
    if($errors){
        $allErrors = "";
        foreach($errors as $error) {
            $allErrors .= $error."\n";
        }
        $result = mysql_query("INSERT INTO deverror (id, ip, page, message, datum) VALUES       (NULL, '".$ip."', 'http://scrshot.com/dev.php', '".$allErrors."', '".$today."')", $connection);
    } 
?>

这里的php端有点生疏,但应该这样做,在将所有错误传递给你的字符串之前连接所有错误。

但是请注意,这可能会对SQL注入有所帮助。 考虑准备声明!