php连接mysql数据库,账号密码的验证问题。

2025-01-03 22:32:58
推荐回答(2个)
回答1:

这个就是比较基础的事情啦

你的代码中:if(mysql_affected_rows($link)!=0)
意思是某个查询所影响的行数,如果用户名和密码都不对,将返回0行,当然就不能通过验证啦
这样是一次性验证了用户名和密码.
但是你的sql语句有问题
应该这样 : $sql2="select * from user where name = '$name' and password = '$pass'";

你要获取查询的结果: 一般都用 mysql_fetch_array();
按照你上面例子用法
$result = mysql_query (select * from user where name = '$name')
$row = mysql_fetch_array($result);
如果你的sql语句没错话,用户名又存在
那么 就返回了一个数组 $row
你用echo $row[0] 或者 $row['name'] 试试就可以获得内容
你获得了用户名之后,就可以继续查询秘密是否正确啦..
原来一样
还不懂的话,来我博客看看 我也在学习php 大家交流一下
http://blog.hzw513.com

回答2:

我起初也用的这个方法 后来我的老师告诉了我另一个方法 我觉得更好 如下:
$query="select * from xxx where name=$name and pswd=$pswd";
$result=mysql_query($query);
$row=mysql_num_rows($result);
if($row==1)
{
//登陆成功
}

你应该能知道$query中的sql语句的含义 我就不多做解释了

[回答补充]
那就这样:
$query='select * from xxx where name=$name';
$result=mysql_query($query);
$row=mysql_num_rows($result);
if($row==0)
{
echo "该用户不存在";
}
else
{
if($password==mysql_result($result,0,密码列名))
{
//登陆成功的后续操作
}
else
{
echo "密码错误";
}
}