我有简单的输入,我需要有关 MySQL 的帮助。
当您单击提交按钮时,PHP 将需要检查该行是否已经存在,如果不存在则只插入一个新行。
我知道这INSERT
部分,但不知道如何检查该行是否已经存在。
INSERT IGNORE
如果它已经存在,则要么不执行任何操作,要么ON DUPLICATE KEY UPDATE
在尝试插入时更新字段。
编辑
如果要检查它是否存在,请先运行 SELECTSELECT * FROM TABLE WHERE ...
并计算行数,或者SELECT COUNT(*) FROM TABLE WHERE ...
检查计数是否大于 0 。如果存在,则向用户发送消息。如果没有,请继续插入。
$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';
}
试试这个
无需检查条目是否已经存在,或者只需转到 phpmyadmin 和那个特定的表,设置为该条目唯一的设置。