检查数据是否已经存在

发布于 2024-12-27 02:46:17 字数 482 浏览 1 评论 0原文

在存储到 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')");

我怎样才能做到没有双重插入。

How can I check before storing in mysql wether in array 1 of the variables already exist in my database. if $explode[$i] exist go to next. if not exist run the code below!

Here is my code in 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')");

How can I do that there are no double inserts.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贩梦商人 2025-01-03 02:46:17

首先将相关属性集设置为表的主键或唯一索引。

那么你有几个选择:

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

First of all make the relevant set of attributes to be primary key or unique index of the table.

Then you have several options:

  • blindly use INSERT IGNORE INTO fbinvite ..., if you simply want to ignore duplicated data OR
  • check if entry exists: SELECT memberid FROM fbinvite WHERE some_attr1 = $explode[...] AND some_attr2 = $explode[...]; and continue appropriately:
    • if entry doesn't exist, insert it to the table: INSERT INTO fbinvite ...
    • if entry exists:
      • show message to the user OR
      • update existing entry: UPDATE fbinvide ... WHERE ...
    • insert OR update at once: INSERT ... ON DUPLICATE KEY UPDATE ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文