簡體   English   中英

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);

?>

但是,當我從應用程序中訪問此代碼時,它返回空結果。 如果我以硬編碼值運行sql

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

然后我得到了預期的結果,但沒有使用php腳本中指定的sql

我還檢查了我是否在$ username和$ password中獲得了正確的值。 我認為我需要在引號中傳遞$ 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM