我一直在尝试自己解决这个问题,但我终生无法解决它..
//If they are, retreive them from the Person table
var_dump($_POST['username']);
var_dump($_POST['password']);
$select = $this-> doQuery("SELECT * FROM Person WHERE username = '{$_POST['username']}' AND password = '".md5($_POST['password'])."'");
var_dump($select);
try {
if (mysqli_num_rows($select) > 0){
var_dump(mysqli_num_rows($select));
//fetching username and password from database
$fetch_array = mysqli_fetch_assoc($select);
var_dump($fetch_array);
//Building a session for the user
$_SESSION['username'] = $fetch_array['username'];
//var_dump($_SESSION['username']);
//Redirecting the user to the index page
header('Location:index.php');
return true;
}
第 4 行和第 5 行的用户名和密码上的两个 var_dump 返回以下内容:
string(8) "johnny03"
string(9) "password3"
object(mysqli_result)#3 (5) { ["current_field"]=> int(0) ["field_count"]=> int(8) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }
我为密码和用户名输入的值都是有效的(它们在数据库中正确的列下,相信我)。我感觉我的选择查询出了点问题,因为 mysqli_num_rows($select) 上的 var 转储没有返回任何内容。话虽如此,我已经尝试了几乎所有我能想到的查询更改它有效,但仍然没有:[有人可以帮忙吗?