为什么if语句在php中不起作用?

时间:2017-09-20 13:58:31

标签: javascript php mysql

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;
&#13;
&#13;

1 个答案:

答案 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注入攻击。小心