插入数据库并检查行是否已存在

时间:2013-10-11 20:25:40

标签: php mysql

我有简单的输入,我需要MySQL的帮助。

当您单击提交按钮时,PHP将需要检查该行是否已存在,如果不存在则仅插入新行。

我知道INSERT部分,但不知道如何检查该行是否已存在。

3 个答案:

答案 0 :(得分:2)

使用INSERT IGNORE如果已经存在则不执行任何操作,或ON DUPLICATE KEY UPDATE更新尝试插入时的字段。

修改

如果要检查它是否存在,请先运行SELECT,作为SELECT * FROM TABLE WHERE ...并计算行数,或SELECT COUNT(*) FROM TABLE WHERE ...并检查计数是否大于0。如果存在,则向用户发送消息。如果没有,那就继续插入。

答案 1 :(得分:1)

$result = mysqli_query($con,"SELECT email FROM user WHERE email='".$email."'");
$count=mysqli_num_rows($result);
if($count==0)  {
$sql="INSERT INTO user (email)VALUES('".$email."')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header('Location:login.php');
}
else
{ 
echo 'already exist';
}

尝试这个

答案 2 :(得分:-2)

无需检查条目是否已经或者只是转到phpmyadmin和那个特定的表,设置该条目的唯一值并设置。