我有一臺在我的電腦上工作正常的登錄系統,但在使用服務器上的HTML用戶界面登錄時,查詢似乎不起作用。我已經複製並直接在服務器上運行查詢,並正常工作。我得到的錯誤是:查詢在本地機器上正常工作,但在服務器上失敗
mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
的代碼如下:
<?php
include_once 'header.php';
$error = "";
$userID = "";
$username = "";
$userName = isset($_POST["userName"]) ? sanitizeString($_POST["userName"]) : "";
$pass = isset($_POST["pass"]) ? sanitizeString($_POST["pass"]) : "";
if (isset($_POST["login"]))
{
if (empty($userName) || empty($pass))
$error = "<span class='error'>Not all fields were entered</span><br />";
else
{
$login_query = "SELECT
*
FROM users
WHERE username = ?
AND pass = ?";
$login_result = queryMysqli($login_query,array(
array("s",$userName),
array("s",md5($salt.$pass.$pepper)))
);
if (mysqli_num_rows($login_result) == 0)
$error = "<span class='error'>Username/Password invalid</span>";
else
{
$row = mysqli_fetch_array($login_result);
$userID = $row["ID"];
$username = $row["username"];
//Add to session
$_SESSION['userID'] = $userID;
$_SESSION['username'] = $userName;
header("location:manageAdverts.php");
EXIT;
}
}
}
?>
<div class="container">
<div class="col-sm-10">
<div class="row">
<div id="main_body">
<div style="padding:55px;">
<div class="white_background " style="max-width:450px;margin-top:40px;">
<span style="color:red;"><?php echo $error; ?></span>
<p style="font-family: 'Oswald', sans-serif;font-size:26px;margin-bottom:20px;">Login</p>
<div style="border-right:1px solid blue;float:left;">
<form class="form-horizontal" method="post" >
<div class="form-group">
<div class="col-xs-10">
<input type="text" class="form-control" placeholder="Username" name="userName" autofocus value="<?php echo $userName; ?>">
</div>
</div>
<div class="form-group">
<div class="col-xs-10">
<input type="password" class="form-control" placeholder="Password" name="pass" value="<?php echo $pass; ?>">
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-2 col-xs-10">
<div class="checkbox">
<label><input type="checkbox"> Remember me</label>
</div>
</div>
</div>
<p></p>
<button style="background:#0B0B61;" type="submit" class="btn btn-primary" name="login">Login</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php include_once "footer.php"; ?>
你的'queryMysqli'函數是怎麼樣的?閱讀錯誤消息,它表示你試圖將一個布爾值放入'mysqli_num_rows',所以檢查'$ login_result'中存儲的'queryMysqli'的結果。 –