Kev*_*vin 3 php mysql sql security duplicates
我希望能够防止重复的SQL文本字段行.也就是说,如果第1行的名称字段已经定义为"John Smith",我不希望它能够添加另一个"John Smith"(这个名称可能是通用的).
我试着检查它是否在插入时存在,但问题是,如果你同时打开两个浏览器窗口并同时点击提交,它们都会检查,检查会清除,然后它们都会插入如果它足够接近.
哦,这是在PHP网站上.
谢谢!
vbe*_*nce 12
CREATE UNIQUE INDEX idxname ON tablename (fieldname);
Run Code Online (Sandbox Code Playgroud)
添加此索引将确保不会fieldname将字段的重复条目记录到tablename表中.
您将在第二个客户端收到MySQL错误.您应该在PHP代码中处理此问题,并再次放置表单(而不是仅显示错误消息).
另一种可能性(对于更复杂的情况)是LOCK功能.如果在检查之前锁定表,然后插入记录,则会延迟并发操作(在第二个浏览器窗口中),直到您释放锁.然后记录将被保存,因此第二个PHP脚本将看到它并处理引用.
| 归档时间: |
|
| 查看次数: |
1110 次 |
| 最近记录: |