在插入之前检查重复项 [英] Check for duplicates before inserting
本文介绍了在插入之前检查重复项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在插入数据库之前,我使用以下代码来检查重复项。对于我来说,当 name
, description
, price
,
city
和 enddate
match。
Before inserting into the database, I'm using the following code to check for duplicates. To me, a duplicate is only considered a duplicate when name
, description
, price
, city
, and enddate
match.
foreach($states_to_add as $item) {
$dupesql = "SELECT
COUNT(*)
FROM
table
WHERE
(
name = '$name'
AND description = '$description'
AND manufacturer = '$manufacturer'
AND city ='$city'
AND price = '$price'
AND enddate = '$end_date'
)";
$duperaw = mysql_query($dupesql);
if($duperaw > 0) {
echo nl2br("$name already exists in $city \n");
}
else {
$sql = "INSERT INTO table (..... (here go the values to be inserted)
....
在运行此检查之前定义每个值,我的结果总是随着项目已存在而返回,我转储了dupesql并将命令复制/粘贴到phpmyadmin中,返回计数0.
Each value is defined prior to running through this checking, my result always comes back as item already exists. I dumped "dupesql" and copy/pasted the command into phpmyadmin which comes back with count 0.
推荐答案
您要执行以下操作:
$dupesql = "SELECT * FROM table where (name = '$name' AND description = '$description' AND manufacturer = '$manufacturer' AND city ='$city' AND price = '$price' AND enddate = '$end_date')";
$duperaw = mysql_query($dupesql);
if (mysql_num_rows($duberaw) > 0) {
//your code ...
}
请参阅此处了解更多信息
这篇关于在插入之前检查重复项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文