php - 检查数据是否已经存在

标签 php mysql insert get explode

在存储到 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/

相关文章:

php - 使用mysql创建过期日期

PHP 没有发布到 mySQL 数据库

php - Joomla - 合并列中的数据库结果

java - 使用 PHP 客户端使用 Java RESTFul Web 服务

php - 在Google Play商店中获取已安装的应用-PHP

php mysql,登录脚本。我的错误消息不显示

mysql - 将现有 MySQL 数据库导入到 Azure 中的 MySQL 数据库

python - 在元组中插入项目

PHP MySQL 插入不起作用

c++ - 我可以复制到 multimap 吗