当涉及到单个 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
,也没有出现任何错误。
有任何想法吗?
谢谢