0

サイトの概要を作成するために、人々が行うすべてのアクションを保存したいと考えています。だから私はこの部分を作りました:

<?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 行が作成されます。

行ごとに

このように、これらすべての「間違い/エラー」を1行にまとめるにはどうすればよいですか?

すべて一列に

(注: はい、私は mysql を使用していることを知っていますが、それはばかげています。)

4

2 に答える 2

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 を使用します。

于 2013-10-15T14:13:41.680 に答える
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 インジェクションに対して潜在的に開かれている可能性があることに注意してください。準備されたステートメントを検討してください!

于 2013-10-15T14:11:28.733 に答える