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

Php 插入数据库并检查行是否已存在,php,mysql,Php,Mysql,我有简单的输入,我需要MySQL的帮助 当您单击submit按钮时,PHP需要检查行是否已经存在,如果不存在,只插入一个新的行 我知道INSERT部分,但不知道如何检查行是否已经存在。如果行已经存在,请使用INSERT IGNORE不执行任何操作,或者在重复键更新时使用更新尝试插入的字段 编辑 如果要检查它是否存在,请首先运行一个SELECT,作为SELECT*FROM TABLE WHERE…并对行进行计数,或者从TABLE WHERE…运行一个SELECT count(*)并检查计数是否大于

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

当您单击submit按钮时,PHP需要检查行是否已经存在,如果不存在,只插入一个新的行


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

如果行已经存在,请使用
INSERT IGNORE
不执行任何操作,或者在重复键更新时使用
更新尝试插入的字段

编辑

如果要检查它是否存在,请首先运行一个SELECT,作为
SELECT*FROM TABLE WHERE…
并对行进行计数,或者从TABLE WHERE…
运行一个
SELECT count(*)并检查计数是否大于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和那个特定的表,设置为该条目唯一的,并设置为该集合。

mysql还为这种插入提供了一个
替换