检查数据是否已存在

时间:2012-01-14 01:05:19

标签: php mysql insert get explode

如何在我的数据库中已存在的变量数组1中存储mysql之前检查。如果$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')");

我怎么能这样做没有双重插入。

1 个答案:

答案 0 :(得分:2)

首先使相关的属性集成为表的主键或唯一索引。

然后你有几个选择:

  • 盲目使用INSERT IGNORE INTO fbinvite ...,如果您只是想忽略重复数据或
  • 检查条目是否存在:SELECT memberid FROM fbinvite WHERE some_attr1 = $explode[...] AND some_attr2 = $explode[...];并继续适当:
    • 如果条目不存在,请将其插入表格:INSERT INTO fbinvite ...
    • 如果条目存在:
      • 向用户显示消息或
      • 更新现有条目:UPDATE fbinvide ... WHERE ...
    • 立即插入或更新:INSERT ... ON DUPLICATE KEY UPDATE ...