转义

PHP mysql_real_escape_string() 函数

守給你的承諾、 提交于 2019-12-10 01:46:11
PHP MySQL 函数 定义和用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。 下列字符受影响: \x00 \n \r \ ' " \x1a 如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。 语法 mysql_real_escape_string(string,connection) 参数 描述 string 必需。规定要转义的字符串。 connection 可选。规定 MySQL 连接。如果未规定,则使用上一个连接。 说明 本函数将 string 中的特殊字符转义,并考虑到连接的当前字符集,因此可以安全用于 mysql_query() 。 提示和注释 提示:可使用本函数来预防数据库攻击。 例子 例子 1 <?php $con = mysql_connect("localhost", "hello", "321"); if (!$con) { die('Could not connect: ' . mysql_error()); }// 获得用户名和密码的代码// 转义用户名和密码,以便在 SQL 中使用$user = mysql_real_escape_string($user); $pwd = mysql_real_escape_string($pwd); $sql = "SELECT *

python多行输出与转义

笑着哭i 提交于 2019-12-09 23:21:30
使用 ''' ''' 多行输出 例如: print('''line1 line2 line3''') 输出: line1 line2 line3 单行使用 r' ' 可以对内容不转义 例如: print(r'I am "OK"') 输出: I am "OK" 使用 \ 可以对后面字符进行转义 例如: print('I am \"OK\"') 输出: I am "OK" 使用 r''' ''' 可以对多行内容不转义 例如: print(r'''line1 line2\n line3''') 输出: line1 line2\n line3 来源: https://www.cnblogs.com/xikl/p/12013980.html

正则表达式符号

前提是你 提交于 2019-12-09 22:01:23
字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。’\n’ 匹配一个换行符。序列 ‘\’ 匹配 “” 而 “(” 则匹配 “(”。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ‘\n’ 或 ‘\r’ 之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”。* 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。 ? 匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或 “does” 中的"do" 。? 等价于 {0,1}。 {n} n 是一个非负整数。匹配确定的 n 次。例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。 {n,} n 是一个非负整数。至少匹配n 次。例如,‘o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。‘o{1,}’ 等价于 ‘o+’。

MySQL 特殊字符转义问题

我怕爱的太早我们不能终老 提交于 2019-12-09 20:47:37
模糊查询时,很多特殊字符都是有特定意义的,比如%、_等,这些在模糊查询中都是通配符。 如果用户在前端的输入是没有限制的,那么,一旦输入相关特殊字符,就会获得错误的查询结果,出于需求的细致要求,这个问题是需要解决的。 在网上找了很多资料,发现能够完全把这个问题解决的答案很少或者很多都不完整,自己在找资料解决问题后,发一下我认为交优的解决办法吧。 如果持久化框架使用的是MyBatis,那么直接使用一下代码即可: SELECT * FROM table_name WHERE clo LIKE CONCAT ('%/',#{testClo},'%') ESCAPE '/' 首先,在数据库中的转义字符通常是反斜杠“\”,并且只有紧挨着的字符会被转义,比如说:"\%",这里的%被转义成普通字符而不是通配符,但是如果"\电%",这个%还是通配符。 其次,escape 用于定义转义字符,这里将斜杠"/"定义成转义符。 最后,因为MyBatis是直接把testClo中的内容传递过来的,所以前面的“/”会把testClo中所有的特殊字符都转义成普通字符而不管中间是否有其他字符串隔开。 这样就可以实现无论前端输了什么东西进来,都不会再有特殊字符导致错误的问题了。 值得注意的是:这是框架级的代码而不是数据库级的代码,也就是说,如果你直接在数据库中这样写,是不行的。或者说,这是MyBatis支持的一种方法。

Java基础12_Java Character类

耗尽温柔 提交于 2019-12-08 14:26:11
Java Character类 Character类用于对单个字符进行操作。 Character类在对象中包装一个基本类型char的值。也就是说Character类是java语言为内置数据类型char提供的包装类。 转义字符 前面有反斜杠()的字符代表转义字符,他对编译器来说是有特殊含义的。下面列表展示了java的转义序列: Character方法 : 来源: CSDN 作者: D_estin_y 链接: https://blog.csdn.net/D_estin_y/article/details/90727625

js和java中正则表达式的易混淆点

删除回忆录丶 提交于 2019-12-07 02:59:40
js中正则表达式的使用 对表单中的值进行正则表达式匹配一般有两种方法: var reg = new RegExp(regStr); reg.test(value); 如下: var reg = new RegExp(“\\d{3}”); reg.test(“abc123def”); 结果:true 注:new RegExp中传的是正则表达式的字符串,\需要用\转义。 str.match(regex); 如”abc123def”.match(/\d{5}/); 结果:123 注:match中传的是正则表达式。不需要加””,以/开头和结束。\不需要转义。 js中对值的全匹配 通常在写网页时要用js对表单中的用户名、Email等验证。这时候验证并不是在value值中找到某一部分,而是要匹配全部。如下 如上图,如果用以下代码验证 var reg = new RegExp(“[a-zA-Z]{6,8}”); reg.test(value) 当6个以下字符时是不匹配的,6-8个时是匹配的,但8个以上时仍然是匹配的。 js中正则表达式相关函数RegExp.test()和String.match()等函数都是在字符串中寻找是否有符合正则表达式的,而非字符串一定要和正则表达式想对应。 所以如果想要按要求匹配,应该加上开始结束字符,开头和结尾统一内容,正确的正则表达式:/^[0-9a-zA-Z]{6

【Python】字符串(String)

≡放荡痞女 提交于 2019-12-06 21:10:27
python中单引号和双引号使用完全相同。 使用三引号('''或""")可以指定一个多行字符串。 转义符 '\' 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。 字符串可以用 + 运算符连接在一起,用 * 运算符重复。 Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。 字符串的截取的语法格式如下: 变量[头下标:尾下标:步长] word = '字符串' sentence = "这是一个句子。" paragraph = """这是一个段落, 可以由多行组成""" 来源: https://www.cnblogs.com/HGNET/p/11997728.html

C3P0 mysql 5.7

房东的猫 提交于 2019-12-06 15:12:44
一、驱动文件 MYSQL5.5使用的驱动文件是 mysql-connector-java-5.1.47.jar MYSQL5.7使用的驱动文件是 mysql-connector-java-8.0.11.jar 注意在WEB-INF/lib中根据相应的要求进行放置。不要重复放置多种版本,以防冲突。 二、连接方式 MYSQL5.5版本的数据库驱动为com.mysql.jdbc.Driver MYSQL5.7版本的数据库驱动为com.mysql.cj.jdbc.Driver c3p0-config.xml基本配置 <!-- 连接mysql数据的基本的信息配置 --> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/mvcproject?&amp;useSSL=false&amp;serverTimezone=UTC</property> 注意c3p0-config.xml配置里面的字符是&使用的转义字符&emp;不用转义会报错。 当然也可以在jdbc.properties里面进行配置,那么就不需要转义了。 来源: https://www.cnblogs.com/liubosong/p/11992056.html

了解Unicode编码

我的梦境 提交于 2019-12-06 13:04:11
一. Unicode是什么? Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码。以实现跨语言、跨平台进行文本转换。 Unicode是为了解决传统字符编码方案的局限而产生的。 Unicode编码的发展及详细介绍可以看这篇文章( https://www.php.cn/js-tutorial-414753.html )。 Unicode字符编码是用一个码位映射一个字符,码位值的范围是从 U+0000 到 U+10FFFF。 码位:一般是被格式化为十六进制数字的,零填充至少四位数,格式为 U + 前缀。 比如 A的码位:U+0041, a的码位:U+0061; 因为A的ASCII十进制为 65; a的ASCII的十进制为97; 我们可以在chrome浏览器下测试下即可: 'A'.charCodeAt(); // 打印65 因此 字符 A 十进制为65,转换成十六进制就是41了,十六进制转十进制的方法为 65 = 4 * 16 + 1; 因此变成Unicode码位的话: U+0041了。 Unicode最前面的65536个字符位,称为零号平面,它的码位范围是从 U+0000 到 U+FFFF; 我们最常见的字符都在这里面了。 Unicode转义 1. 16进制转义 "A" 转义为:'\x41'; "a" 转义为: '\x61'; 2. Unicode转义