我正在处理一个登录脚本,我正在尝试使用查询及其周围的所有内容。我稍微得到它,但下面的代码,它检查用户名和&人们想登录时的密码,不太合适。我收到一个错误:
警告:mysql_num_rows()期望参数1为资源,布局在 C:\ xampp \ htdocs \ mystagram \ logic \ login_validate.php 中给出 13
<?php
include('../includes/config.php');
include('../includes/database.php');
$username = mysql_escape_string($_POST['username']);
$password = mysql_escape_string($_POST['password']);
$submit = $_POST['submit_login'];
if (isset($submit)) {
$loginquery = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
if (mysql_num_rows($loginquery) > 0) {
echo 'You are now logged in.';
exit();
} else {
echo 'Wrong username or password.';
}
}
?>
答案 0 :(得分:1)
这意味着您的SQL语句中有错误。
可能你没有一个名为&#39; users&#39;或列'&#39;用户名&#39;或者密码&#39;不见了。
改变这个:
if (mysql_num_rows($loginquery) > 0) {
要:
if (mysql_num_rows($loginquery) == 1) {
并且不要在数据库中以明文形式保存您的密码。并使用mysqli:)
答案 1 :(得分:0)
you use mysql_escape_string() then '' it was problem. try this code,I hope it will work.
<?php
include('../includes/config.php');
include('../includes/database.php');
$username = mysql_escape_string($_POST['username']);
$password = mysql_escape_string($_POST['password']);
$submit = $_POST['submit_login'];
if (isset($submit)) {
**$loginquery = mysql_query("SELECT * FROM users WHERE username=".$username." AND password=".$password);**
if (mysql_num_rows($loginquery) > 0) {
echo 'You are now logged in.';
exit();
} else {
echo 'Wrong username or password.';
}
}
?>