一个因为全角和半角空格引发的bug

2024-05-15 14:18
文章标签 bug 空格 引发 全角 半角

本文主要是介绍一个因为全角和半角空格引发的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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992048

相关文章

【微信小程序】如何加空格?

排除: 直接加&nbsp;是没有效果的。直接按空格键是没有效果的。 解决: 给文字加上 decode="{{true}}" 属性之后再用&nbsp; <text decode="{{true}}">医院&nbsp;&nbsp;</text><text>科室</text>

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*

【Markdown】输入空格方式

文章目录 1.nbsp2. ensp3. emsp4.thinsp5. zwnj6. zwj7. 其它 1.nbsp &nbsp;为“不换行空格”,全称“No-Break Space”,它是最常见和我们使用最多的空格,大多数的人可能只接触了 ,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该

编写一个统计空格制表符与换行符个数的函数

int main(int argc, char* argv[]) {  double nc,nc1,nc2;     nc = nc1 = nc2 =0;  int c;  while((c = getchar()) != EOF)  {   if(c == '\t')    nc++;   else if(c == ' ')    nc1++;   else if(c == '\n')

JavaBug系列-解决SpringBoot返回Xml结构的问题

JavaBug系列之SpringBoot返回Xml结构的问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 作者:Java医生 教学: Java企业项目辅导,专注于辅导新入职员工,解决各种问题! V:study_51ctofx 一、关于错误信息 如图,SpringBoot请求返回Xml格式信息 通过以上信息分析,

JavaBug系列- Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class load

JavaBug系列之Mysql驱动问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 Java/一对一零基础辅导/企业项目一对一辅导/日常Bug解决/代码讲解/毕业设计等 V:study_51ctofx 一、关于错误信息 APPLICATION FAILED TO START Description: Fai

【解决bug之路】npm install node-sass(^4.14.1)连环报错解决!!!(Windows)

有关node-sass的深入分析可参考:又报gyp ERR!为什么有那么多人被node-sass 坑过? 主要有如下三方面错误,请自查: 1.node,npm版本需与node-sass版本匹配,像node-sass(^4.14.1)就得node 14.x版本才可以,node 16不行 gyp ERR! build error15 gyp ERR! stack Error: `

排查 MyBatis XML 配置中的 IF 语句与传值名称不匹配的 Bug

文章目录 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 前言,在改一个bug得时候发现一个有意思得问题,就是mybatis得xml中if判断得问题,传值名字不匹配依旧可以进行判断,如下图 传值userName,但是有意思得事情出现了,进了if,并且没有报错,尝试了两次都是这

引发蛀牙、避免蛀牙食物大全

引发蛀牙、避免蛀牙食物大全 引发蛀牙的食物大全: 糖果 糖浆 糖果棒 巧克力 碳酸饮料 果汁 口香糖 蜂蜜 蛋糕 甜点 薯片 脆饼干 果酱 果冻 蜜饯 蜜饯果干 避免蛀牙的食物大全: 高纤维蔬菜 水果 坚果 种子 高钙乳制品 高蛋白质肉类 高蛋白质鱼类 绿茶 水 蔬菜汤 鸡汤 酸奶 酸奶制品 奶酪 红薯 土豆 面包和全麦面包 芝士

彻底解决魅族手机无法彻底卸载应用的bug

使用Flyme系统的同学可能会遇到一个问题: 卸载了某些软件(例如通过开发者模式调试安装的应用)后,实际这个应用还残留在系统,当你用低版本或者其他签名的apk覆盖安装的时候会提示“安装失败”,要求你卸载后重新安装。 可是无论你从应用列表寻找还是清理垃圾,都根本找不到这个应用。 闹鬼?这个bug一直伴随着flyme,可怜工程师们竟然一个都没发现。 今天笔者教大家一招解决这个问题。