私は自分でこの問題を解決しようとしてきましたが、私の人生の間、それを修正することはできません。
//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行目のユーザー名とパスワードの2つのvar_dumpsは、次のように返しました。
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ダンプが何も返さないため、selectクエリに問題があると感じています。とはいえ、クエリに対して考えられるすべての変更を試しました。それは機能しますが、それでも何もありません:[誰か助けてもらえますか?