Php mysqli\u real\u escape\u字符串不工作
我浏览了整个网页,检查了php语法,但我不明白为什么这段代码不起作用Php mysqli\u real\u escape\u字符串不工作,php,mysql,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_erro
// 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";
//创建连接
$con=mysqli_connect(“本地主机”、“任务用户”、“任务”、“任务”);
//检查连接
if(mysqli\u connect\u errno()){
echo“没有连接到数据库:”.mysqli_connect_error();
}
否则{
//信息核查
$username=$\u POST[“用户”];
$username=stripslashes($username);
$password=$_POST[“passwd”];
$username=$mysqli\u real\u escape\u字符串($con,$username);
//$password=$mysqli\u real\u escape\u字符串($password);
//$sqlquery=“从用户名='$username'和密码='$password'的用户中选择用户名、密码”;
}
回显“restoreValues”(“..$\u POST[“user”]”,“..$\u POST[“passwd”]”);
回应“一切正常”;
如果我对mysqli\u real\u escape\u字符串进行注释,那么它会工作(所有OK都会打印出来),如果我不这样做,它就不会工作。我做错了什么???您使用的是
$
先签名后函数mysqli\u real\u escape\u string
成功
$username = mysqli_real_escape_string($con,$username);
而不是
$username = $mysqli_real_escape_string($con,$username);
^ remove this
您有一个$before mysql\u real\u escap\u字符串,这是错误的。如果删除$,它应该可以工作。您的版本将使用变量$mysqli\u real\u escape\u string(在您的案例中不存在)中定义的名称调用函数。该函数的名称是
mysqli\u real\u escape\u string
,而不是$mysqli\u real\u escape\u string
,这是语法高亮显示真正方便的地方(并且知道哪些颜色意味着什么)\uw,您不应该直接在数据库中存储密码,而是以散列方式存储。使用绑定变量,您就不需要使用mysqli\u real\u escape\u string(或stripslashes)谢谢。我是个白痴。一直盯着代码看了太久,没有注意到明显的问题。非常感谢。想知道为什么任何在线语法检查器都没有得到这一点,尽管。。。。。