SQL返回空行


SQL returning null rows

我有以下PHP代码从表

返回用户详细信息
<?php
$con=mysqli_connect("localhost","root","");
if(!$con)
    {
        die('Could not connect'.mysqli_error());
    }
mysqli_select_db($con,"mysql");
$username=$_POST["username"];
$password=$_POST["password"];
$statement=mysqli_prepare($con,"Select * from bbau_login where username= ? and password= ? ");
mysqli_stmt_bind_param($statement,"ss",$username,$pasword);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement,$id,$name,$username,$password);
$user=array();
while(mysqli_stmt_fetch($statement))
    {
        $user['name']=$name;
        $user['username']=$username;
        $user['password']=$password;
    }
echo json_encode($user);
mysqli_stmt_close($statement);
mysqli_close($con);
?>

但是当我从应用程序中点击这段代码时,它返回null结果。如果我用硬编码值

运行sql
Select * from bbau_login where username= 'aqsdfg' and password= 'adjbf'

然后我得到所需的结果,但不是与php脚本中指定的sql

我还检查了我在$username和$password中获得了正确的值。我想我需要在引号中传递$用户名和$密码。请有人帮忙写正确的查询引号

嗯,我认为pasword/password的一致拼写将大有帮助:

#  vv
$password=$_POST["password"];
:
mysqli_stmt_bind_param($statement,"ss",$username,$pasword);
#                                                   ^

你可能很好,正如你所说的,"在$username$password中获得适当的值",但如果你实际上不使用 $password中的内容:-)

,这不会有帮助。

您在传递密码时拼写错误

改变
 mysqli_stmt_bind_param($statement,"ss",$username,$pasword);

mysqli_stmt_bind_param($statement,"ss",$username,$password);