Php 返回空行的SQL语句

Php 返回空行的SQL语句,php,mysql,Php,Mysql,下面是从表中返回用户详细信息的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=m

下面是从表中返回用户详细信息的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);

?>
然后,我得到了期望的结果,但不是使用php脚本中指定的sql

我还检查了$username和$password中的值是否正确。
我想我需要在引号中传递$username和$password。请有人帮我用引号写下正确的查询。

好吧,我认为pasword/密码的一致拼写将非常有帮助:

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

正如您所说,您很可能在$username和$password中获得了正确的值,但如果您没有实际使用$password中的内容,那么这将不会有帮助:-

您在传递密码时写入了错误的拼写

改变

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


您正在调用prepared statement函数,因此它无法检索数据并测试$\u POST变量=@Fky,是的,还有其他各种好的建议,比如您所说的,并明确要求列的顺序不允许*,以便在列顺序发生变化时,结果绑定不会出错,并正确执行关联数组,以便后面的行不会覆盖前面的行。但是,实际上,问题是为什么不返回行,在这个问题的上下文中,所有其他的东西都是多余的:-是的,但是一个可以帮助提高代码质量的建议是值得学习的;
 mysqli_stmt_bind_param($statement,"ss",$username,$pasword);
mysqli_stmt_bind_param($statement,"ss",$username,$password);