我一直在試圖解決我自己,爲我的生活不能修復這個問題..mysqli_num_rows = 0時,它應該是1
//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;
}
上的用戶名兩個var_dumps和4日和5日線密碼返回此:
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) }
,我的用戶名和密碼都輸入的值都是有效的(他們是在正確的列下的數據庫,相信我)。我有一種感覺,我的select查詢出了問題,因爲mysqli_num_rows($ select)上的var轉儲沒有返回任何東西。所以說,我已經嘗試了幾乎所有可以考慮的查詢變化它的工作,但仍然沒有:[任何人都可以幫忙嗎?
用戶名前綴和後綴大括號?這不是一個錯字? – Daneo
''var_dump(md5($ _ POST ['password']));'產生與密碼列中的數據庫中相同的密碼?在這個查詢中,你也很容易受到sql注入的影響。 – drew010
+1 to @ drew10。如果您確定用戶名是正確的,那麼必須驗證數據庫中密碼的加密 – janenz00