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.";
答案 0 :(得分:1)
你的代码不是很好......
你真的需要使用MYSQLi预处理语句esp with username / pass checks ...
$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
。
答案 1 :(得分:0)
$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.";
or
printf("Select returned %d rows.\n", mysqli_num_rows($resultLogin));
答案 2 :(得分:0)
您不需要范围。
$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.";
仅在内联查询中使用范围。 你已经在这里使用了范围...
$resultLogin = $mysqli->query($queryLogin);