mysql_connect("localhost", "root","root") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
mysql_select_db("houtai") //选择数据库mydb
or die("数据库不存在或不可用");
//获取用户输入
$usersname = $_POST["usersname"];
$userspass = $_POST["userspass"];
//执行SQL语句获得Session的值
$query = mysql_query("select usersname, status from users "
."where usersname = '$usersname' and userspass = '$userspass'")
or die("SQL语句执行失败");
//判断用户是否存在,密码是否正确
if($row = mysql_fetch_array($query))
{
session_start(); //标志Session的开始
//判断用户的权限信息是否有效,如果为1或0则说明有效
if($row['status'] == 1 or $row['status'] == 2)
{
$_SESSION['usersname'] = $row['usersname'];
$_SESSION['status'] = $row['status'];
echo 123;
}
else //如果权限信息无效输出错误信息
{
echo "用户权限信息不正确";
}
}
else //如果用户名和密码不正确,则输出错误
{
echo "用户名或密码错误";
}
?>
PHP+mysql,数据库,表名一切都对,运行后也没有报错,可为什么不管对错的密码,都是提示 账户与密码错误
答案:2 悬赏:0 手机版
解决时间 2021-03-10 23:29
- 提问者网友:爱唱彩虹
- 2021-03-10 00:07
最佳答案
- 五星知识达人网友:woshuo
- 2021-03-10 01:23
我看着好像是你的sql语句有问题
select * from users 前面改成这样的
你可以先var_dump下 mysql_fetch_array($query) 看看输出值
如果OK 你再 var_dump($row['status']);
看看是否能输出 ,输出的值的类型 如果是字符串 最好还是
select * from users 前面改成这样的
你可以先var_dump下 mysql_fetch_array($query) 看看输出值
如果OK 你再 var_dump($row['status']);
看看是否能输出 ,输出的值的类型 如果是字符串 最好还是
全部回答
- 1楼网友:七十二街
- 2021-03-10 01:59
举例说明:某个数据库名称是:zp7023_db, 密码是:r4b3218e5 ,数据库地址:bdm-108.hichina.com, 则填写样式如下:
系统默认主机名为:bdm-108.hichina.com
sql:数据库名称: zp7023_db
sql:数据库用户名: zp7023
sql:数据库密码: r4b3218e5
数据库地址:bdm-108.hichina.com
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯