Php (MYSQL)如何仅在记录不存在时插入记录';不存在于表格中
嗨,也许这个问题已经被回答了,但是没有任何帮助 我使用的是Mysql,我想在表中插入一些数据,但我想在插入之前检查重复记录 我对如何实现这一点感到非常困惑 我需要检查“RFC==$implicate和Diagonal==10或Diagonal==20”,并显示类似“记录已经存在”的内容, 或者,如果记录不存在,则插入所有数据 这是我的剧本:Php (MYSQL)如何仅在记录不存在时插入记录';不存在于表格中,php,mysql,select,insert,Php,Mysql,Select,Insert,嗨,也许这个问题已经被回答了,但是没有任何帮助 我使用的是Mysql,我想在表中插入一些数据,但我想在插入之前检查重复记录 我对如何实现这一点感到非常困惑 我需要检查“RFC==$implicate和Diagonal==10或Diagonal==20”,并显示类似“记录已经存在”的内容, 或者,如果记录不存在,则插入所有数据 这是我的剧本: <?php $Person_name=$_POST['Person_name']; $Expediente=$_POST['Expediente'];
<?php
$Person_name=$_POST['Person_name'];
$Expediente=$_POST['Expediente'];
$Sexo=$_POST['Sexo'];
$Edad=$_POST['Edad'];
$Domicilio=$_POST['Domicilio'];
$numero=$_POST['Numero'];
$colonia=$_POST['Colonia'];
$Ciudad=$_POST['Ciudad'];
$Parentesco=$_POST['Parentesco'];
$ClinicaAds=$_POST['ClinicaAds'];
$Dependencia=$_POST['Dependencia'];
$Entidad=$_POST['Entidad'];
$Foraneo=isset($_POST['Foraneo']) ? 1 : 0;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "issste";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = " INSERT INTO paciente (RFC, Nombre, Sexo, FechaNacimiento, Calle, NumeroDomiciliario, Colonia, Ciudad, Dependencia, ClinicaAdscrip, Entidad, Foraneo, Diagonal)
SELECT '$Expediente', '$Person_name', '$Sexo', '$Edad', '$Domicilio', '$numero', '$colonia', '$Ciudad', '$Dependencia', '$ClinicaAds', '$Entidad', '$Foraneo', '$Parentesco' FROM paciente
WHERE NOT EXIST(
SELECT RFC, Diagonal FROM paciente WHERE RFC = '$Expediente' AND Diagonal='10' OR Diagonal='20') LIMIT 1 ";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
修改您的查询,请尝试以下操作:
INSERT INTO paciente (RFC, Nombre, Sexo, FechaNacimiento, Calle, NumeroDomiciliario,
Colonia, Ciudad, Dependencia, ClinicaAdscrip, Entidad, Foraneo, Diagonal)
SELECT '$Expediente', '$Person_name', '$Sexo', '$Edad', '$Domicilio', '$numero',
'$colonia', '$Ciudad', '$Dependencia', '$ClinicaAds', '$Entidad', '$Foraneo',
'$Parentesco'
WHERE NOT EXISTS( SELECT RFC, Diagonal FROM paciente
WHERE RFC = '$Expediente' AND Diagonal='10' OR Diagonal='20' LIMIT 1 )
可能重复你的头衔要求一件事,但你完成了另一件事。你的问题是什么?有关错误消息,请阅读并执行操作。开始删除代码,直到没有错误。请在sqlfiddle.com或其他网站(谷歌)上尝试您的SQL。请阅读手册,重新阅读您试图使用的语句。Googel re是准确的错误消息和编号。