【发布时间】:2016-02-19 20:00:35
【问题描述】:
我的 PHP 代码不会验证数据库中的数据,它一直返回说登录数据无效,即使数据是正确的。
这个问题发生在我从使用 MySQL(运行良好)切换到 mysqli 以更安全之后。
连接文件数据是健全的,所以我不知道为什么代码一直说无效的登录数据。
session_start();
include_once("connect.php");
if (isset($_POST['username'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $mysqli->prepare("SELECT * FROM users WHERE username=?
AND password=? LIMIT 1");
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->fetch();
$res = $mysqli->query($stmt);
if (mysqli_num_rows($res) == 1) {
$row = $res->fetch_assoc();
$_SESSION['uid'] = $row['id'];
$_SESSION['username'] = $row['username'];
header("Location: forum.php");
exit();
} else{
echo "Invalid login information. Please return to previous page.";
exit();
}
}
谢谢。
【问题讨论】:
-
问题是:你这里还在用
mysql_连接吗? -
所以这看起来将是一个“我只会回答答案”类型的问题。好吧,你已经得到了一个,问他们。我不会就这个问题提供任何进一步的帮助。