我試圖測試我的登錄頁面,因此當我登錄時應該重定向到我的賬戶頁面,但我得到這個錯誤致命錯誤:調用未定義的方法mysqli_result :: fetch()在第12行C: wamp www ......
Fatal error: Call to undefined method mysqli_result::fetch() in C:\wamp\www...... on line 12
這裏是針對的login.php頁面
<?php require ("connections/Connection.php"); ?>
<?php
if(isset($_POST['Login_Button'])) {
session_start();
$Email = $_POST['Email'];
$Password = $_POST['Password'];
$result = $Conn->query("Select UserID FROM users WHERE Email='$Email' AND Password='$Password'");
while ($num_rows = $result->fetch(MYSQLI_BOTH));
{
session_start();
$_SESSION["UserID"] = $num_rows['UserID'];
header('Location: Account.php');
}
}
?>
<!doctype html>
<html>
<head>
<link href="assets/css/Master.css" rel="stylesheet" type="text/css" />
<link href="assets/css/Menu.css" rel="stylesheet" type="text/css" />
<meta charset="utf-8">
<title>Template</title>
</head>
<body>
<div class="Container">
<div class="Header"></div>
<div class="Menu">
<div id="Menu">
<nav>
<ul class="cssmenu">
<li><a href="#">Register</a></li>
<li><a href="#">LogIn</a></li>
</ul>
</nav>
</div>
</div>
<div class="LeftBody"></div>
<div class="RightBody">
<form action="" method="post" name="LoginForm" id="LoginForm">
<div class="FormElement"> <input name="Email" type="email" required="required" class="TField" id="Email" placeholder="Email"> </div>
<div class="FormElement"> <input name="Password" type="password" required="required" class="TField" id="Password" placeholder="Password"> </div>
<div class="FormElement"> <input name="Login_Button" type="submit" class="button" id="Login_Button" value="Login"> </div>
</form>
</div>
<div class="Footer"></div>
</div>
</body>
這裏我的源代碼是我connection.php(mysqli的連接代碼)
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dberror1 = "Could Not Connect to Your Database";
$dberror2 = "Could Not Find Your Table";
$Conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die ($dberror1);
$Select_db = mysqli_select_db($Conn, 'users') or die ($dberror2);
$query = mysqli_query($Conn, "Select * FROM users");
$num_rows = mysqli_num_rows($query);
if($num_rows != 0){
while ($fetch = mysqli_fetch_assoc($query)){
echo $fetch['UserID'];
}
}
?>
有人可以幫忙嗎?
具體是指http://stackoverflow.com/a/12769983/476 – deceze
**切勿將普通文本密碼!**請使用PHP的[內置函數](http://jayblanchard.net/proper_password_hashing_with_PHP.html)來處理密碼安全性。如果您使用的PHP版本低於5.5,則可以使用'password_hash()'[兼容包](https://github.com/ircmaxell/password_compat)。確保你*** [不要越獄密碼](http://stackoverflow.com/q/36628418/1011527)***或在哈希之前使用其他任何清理機制。這樣做*更改密碼並導致不必要的附加編碼。 –