在存储到 mysql 之前,如何检查数组 1 中的变量是否已存在于我的数据库中。如果 $explode[$i]
存在,则转到下一步。如果不存在,请运行下面的代码!
这是我的 php 代码:
$request_user_ids = $_GET['req'];
$explode = explode(',',$request_user_ids);
for ($i=0; $i<count($explode);$i++){
$result = mysql_query("
INSERT INTO fbinvite (memberid, fbsender, fbempfang, regdatum, fbreturn)
VALUES(NULL, '".$userid."', '".$explode[$i]."', NOW(), '0')");
我怎样才能做到没有双重插入。
最佳答案
首先将相关属性集设置为表的主键或唯一索引。
然后你有几个选择:
- 盲目使用
INSERT IGNORE INTO fbinvite ...
,如果您只是想忽略重复的数据或 - 检查条目是否存在:
SELECT memberid FROM fbinvite WHERE some_attr1 = $explode[...] AND some_attr2 = $explode[...]
;并适本地继续:- 如果条目不存在,则将其插入表中:
INSERT INTO fbinvite ...
- 如果条目存在:
- 向用户显示消息或
- 更新现有条目:
更新fbinvide ... WHERE ...
- 立即插入或更新:
INSERT ... ON DUPLICATE KEY UPDATE ...
- 如果条目不存在,则将其插入表中:
关于php - 检查数据是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859254/