function login($username,$password){
$query = "select * from userdata where un=".$username ." and pw=".$password;
$result=mysql_query($query);
if(empty($result)){ //一开始这样里就这样写,结果无论敲什么 都登录成功
exit('账号不存在或密码出错,登录失败!');
}
else{
echo "登录成功!";
}
}
之后加了mysql_fetch_array()这一句来获取结果,发现就正常了
随便敲叻一个不存在的账号密码 看了一下mysql_query() 和mysql_fetch_query()找不到的时候的返回值
1.请教一下 mysql_query()执行SQL语句的时候 什么时候会返回false?
2.这里面resource of......这个值究竟是什么意思?
3.一般调用完mysql_query(),是不是要调用mysql_fetch_xxx()来获取结果??
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。因此,对于你select语句,只要sql语句没有错误,将返回一个资源标识符,但是资源标识符不是空,因此永远不可能进入if里面2 指的是mysql资源集3,这个不一定,具体看你什么需求,其实对于你情况,用mysql_num_rows() 最佳.
我会这样写