我有简单的输入,我需要MySQL的帮助。
当您单击提交按钮时,PHP将需要检查该行是否已存在,如果不存在则仅插入新行。
我知道INSERT
部分,但不知道如何检查该行是否已存在。
答案 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和那个特定的表,设置该条目的唯一值并设置。