EDITED
我在php中写了一个if,如果$ consulta获取一行然后它会抛出一个echo,但是如果它没有加载带插入的行
问题是if条件什么都不做, 每次我执行查询时插入行,即使已经有一个相等的行。怎么了?
function vincular(){
$.ajax({
url: 'api/vinculados.php',
type: 'POST',
data: {
juridica: $("#sel_jur").val(),
fisica: $("#mod_id_perfil").val(),
usuario: $("#mod_usuario_perfil").val()
},
success: function (data) {
if(data.status == "ok") {
console.log(data);
}
}
});
}

<?php
include 'conexion.php';
$consulta=mysqli_query($conexion, "SELECT * from perfiles_vinculados WHERE perfil_juridica = '$_POST[juridica]'");
if (mysqli_num_rows($consulta) > 0)
{
echo "ya existe";
} else {
mysqli_query($conexion, "INSERT INTO perfiles_vinculados (perfil_juridica, perfil_fisica, usuario)
VALUES ('$_POST[juridica]', '$_POST[fisica]', '$_POST[usuario]')");
}
?>
&#13;
答案 0 :(得分:0)
修复您的PHP代码
$juridica = $_POST['juridica'];
$consulta=mysqli_query($conexion, "SELECT * from perfiles_vinculados
WHERE perfil_juridica = '$juridica'");
if (mysqli_num_rows($consulta) > 0)
{
echo "ya existe";
} else {
$fisica = $_POST['fisica'];
$usuario = $_POST['usuario'];
mysqli_query($conexion, "INSERT INTO perfiles_vinculados
(perfil_juridica, perfil_fisica, usuario)
VALUES ('$juridica', '$fisica', '$usuario')");
}
请记住,$ _POST变量需要一个字符串在括号中,这需要''。
请告诉我这是否对您有帮助!
编辑:哦,你也容易受到SQL注入攻击。小心