rowLogin
总是返回 0
?但是当我在 sql 上运行查询时,我得到了正确的结果!我已经查看了大量的解决方案,但实际上没有一个有效。
$queryLogin =("SELECT count(*) as count FROM `tblUser` WHERE `username` = '$username' and `password` ='$password'");
$resultLogin = $mysqli->query($queryLogin);
$rowLogin = $resultLogin->fetch_assoc();
echo $rowLogin['count']." rows in table tblUser.";
最佳答案
你的代码不太好...
您确实需要使用 MYSQLi 准备好的语句,特别是带有用户名/通过检查...
$mysqli = new mysqli(...);
$query = "SELECT count(*) as count FROM `tblUser` WHERE `username`=? and `password`=?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('ss',$username,$password);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows){
$row = $result->fetch_assoc();
echo $row['count'] . " rows in table tblUser.";
}
我知道您可能只是想获取一些信息,但这是最好的路线,所以请这样走。不要继续走你的路。
您的查询很可能失败,因为您的实际查询周围有 ( )
。因此,如果您想使用它,只需删除 $queryLogin
行上的 ( )
即可。
关于php - MySQli 行计数总是返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640470/