检查数据是否已经存在
在存储到 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先将相关属性集设置为表的主键或唯一索引。
那么你有几个选择:
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:
INSERT IGNORE INTO fbinvite ...
, if you simply want to ignore duplicated data ORSELECT memberid FROM fbinvite WHERE some_attr1 = $explode[...] AND some_attr2 = $explode[...]
; and continue appropriately:INSERT INTO fbinvite ...
UPDATE fbinvide ... WHERE ...
INSERT ... ON DUPLICATE KEY UPDATE ...