本文主要是介绍一个因为全角和半角空格引发的bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先贴上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系列,所以会报这种错!
记之以警己!
这篇关于一个因为全角和半角空格引发的bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!