mysqli_real_escape_string不起作用

时间:2014-08-20 12:13:49

标签: php mysql

我已经浏览了整个网络,查看了php语法,但我无法理解为什么这段代码无效。

  // Create connection
  $con=mysqli_connect("localhost","task_user","task","tasks");

  // Check connection
  if (mysqli_connect_errno()) {
    echo "No se puede conectar a la base de datos: " . mysqli_connect_error();
  }
  else{
    //Verificación de la información de logeo
    $username = $_POST["user"];
    $username = stripslashes($username);
    $password = $_POST["passwd"];    
    $username = $mysqli_real_escape_string($con,$username);
    //$password = $mysqli_real_escape_string($password);
    //$sqlquery = "SELECT username,password FROM users WHERE username ='$username' AND password='$password'";
  }


  echo '<script type = "text/javascript"> restoreValues("' . $_POST["user"] . '","' .  $_POST["passwd"] . '"); </script>';
  echo "ALL OK";

如果我评论mysqli_real_escape_string然后它可以正常工作(打印好一切),如果我不能它工作。我做错了什么?

2 个答案:

答案 0 :(得分:2)

您在功能$

之前使用mysqli_real_escape_string符号

制作

$username = mysqli_real_escape_string($con,$username);

而不是

$username = $mysqli_real_escape_string($con,$username);
            ^ remove this  

答案 1 :(得分:1)

你在mysql_real_escap_string之前有一个$,这是错误的。如果你删除$,它应该工作。您的版本将调用具有在变量$ mysqli_real_escape_string中定义的名称的函数(在您的情况下不存在)。