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