phpでfwriteを使用して、logs.txtにいくつかのエラーを記録します。
問題は、db_errors.txtを開くと、メッセージが1回だけではなく、複数回保存されているのを確認できることです。
私のfwriteコードはループ内にないので、間違いなく1回だけ実行されます。サードパーティのロガークラスを使用して同じことが起こったと思います。
if (!$result = mysqli_query($link, $query)){
$today = getdate();
$handle = fopen("logs/db_errors.txt", "a");
fwrite($handle, $today['mday'].'/'.$today['mon'].'/'.$today['year']." | ".mysqli_errno($link)." : ".mysqli_error($link)." | ".$query." \n");
fclose($handle);
}
これにより、db_errors.txt内に同じ出力で3行が書き込まれます。
11/4/2011 | 1054 : Unknown column 'uids' in 'field list' | SELECT uids FROM users WHERE user_id=6 LIMIT 1
11/4/2011 | 1054 : Unknown column 'uids' in 'field list' | SELECT uids FROM users WHERE user_id=6 LIMIT 1
11/4/2011 | 1054 : Unknown column 'uids' in 'field list' | SELECT uids FROM users WHERE user_id=6 LIMIT 1