2017-10-29 92 views
-1

在以下代碼中,var_dump($ row)返回NULL,而$ sql,$ conn和$ result似乎沒問題。 PHP新手,無法弄清楚問題所在。感謝幫助!函數mysql_fetch_row返回NULL,禁止登錄

<?php 

session_start(); 
include_once 'dbh.inc.php'; 

if (isset($_POST['submit'])) { 
$uid = mysqli_real_escape_string($conn, $_POST['name']); 
$pwd = mysqli_real_escape_string($conn, $_POST['password']); 
if (empty($uid) || empty($pwd)) { 
    header("Location: ../index.php?login=empty"); 
    exit(); 
} else { 
    //Check if username exists USING PREPARED STATEMENTS 
    $sql = "SELECT * FROM us WHERE user_username='$uid'"; 
    $result = mysqli_query($conn, $sql); 
    if($result) { 
     var_dump($result); 
     $row = mysqli_fetch_row($result); 
     var_dump($row); 
    if (mysqli_num_rows($result) > 0) { 
     if ($pwd != $row['user_password']) { 
      header("Location: ../index.php?login=passerror"); 
      exit(); 
     } else { 
      //Set SESSION variables and log user in 
      $_SESSION['id'] = $row['id']; 
      $_SESSION['user_email'] = $row['user_email']; 
      $_SESSION['user_username'] = $row['user_username']; 
      header("Location: ../index.php"); 
      exit(); 
      } 
     } 
    } 
} 
} else { 
    header("Location: ../index.php?login=buttonerror"); 
    exit(); 

}

回答

0

我不是超級無論是經驗豐富的,但試試這個,讓我知道。

變化

$row = mysqli_fetch_row($result); 

$row = mysqli_fetch_assoc($result); 
+0

像魅力一樣工作! – Nevermeltice

0

沒有錯,你的代碼,它的正常工作,請更改數據庫,並檢查了一次

你逝去$康恩在mysql_real_escape_string

$uid = mysqli_real_escape_string($_POST['name']); 
$pwd = mysqli_real_escape_string($_POST['password']);