先贴上PHP代码,这是有问题的代码!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="../CSS/style.css" rel="stylesheet" type="text/css"/>
<title>title</title>
</head>
<body >
<?php
session_start();
include "database/con_db.php";
$username='a';
$result = mysql_query("select * from user");
while($query = mysql_fetch_array($result)){
if($query['user']==$username){
if($query['password']==$password){
echo "登录成功";
return;
}
else{
echo "密码错误";
return;
}
}
}
echo "用户不存在";
return;
?>
</body>
</html>
运行之后的错误为:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\wamp\www\notice\php\check_login.php on line 16
经过调试之后,发现竟然是12行select语句星号后面有个空格为全角空格!!
长知识了!这两个空格是不一样的->" "" "如果你错误输入了全角空格,就会报错!
查了一下两者的不同:
字符集不同,半角属于英文的 全角是中文的,半角是ascall的编码,全角会识别成中文,是UTF-8或者GBK系列,所以会报这种错!
记之以警己!