単一のmySQLスクリプトに関しては、少し問題があります。具体的には、mySQLは私にこのエラーを出し続けます:
MySQL Error: Duplicate entry '39835a3f63f222c9bf51d9dd471b90bc' for key 'PRIMARY'
問題の主キーがphpのtime()関数に基づいてMD5で生成されたハッシュであるため、これはかなり奇妙なことです。したがって、問題はないはずです。
これは、テーブルに挿入するphpコードです。
INSERT INTO log
(hailID, timestamp, lat, lng, phone, device, method, serviceType, email, address, languageID, ipaddress)
VALUES
(MD5('" . $time . $data['phone'] . "'),
'$time',
'".$data['lat']."',
'".$data['lng']."',
'".$data['phone']."',
'".$data['device']."',
'".$data['method']."',
'".$data['serviceType']."',
'".$data['email']."',
'".$data['address']."',
'".$data['languageID']."',
'".$_SERVER["REMOTE_ADDR"]."'
$time
この場合、は関数からの値を保持する単なる変数ですtime()
。おかしなことに、この問題はそれほど頻繁ではなく、ランダムに見えます(少なくとも私が知る限り)。そして、はい、すべてのデータは、配列mysqli_escape_string()
に入る前にを使用してサニタイズされます。$data
を使用してテーブルもチェックしましたが、CHECK TABLE
エラーも発生していません。
何か案は?
ありがとう