mysql中"'"的问题
程序员文章站
2022-06-05 14:00:17
...
"select * from databases where 'name'='my name'"
当my name变成I'm xiao的时候就出错了,怎么解决啊????
"select * from databases where 'name'='I'm xiao'"
当my name变成I'm xiao的时候就出错了,怎么解决啊????
"select * from databases where 'name'='I'm xiao'"
回复讨论(解决方案)
1、"select * from databases where `name`='my name'"
字段名称用的是`,ESC 下方的那个符号,还不是单引号
2、I'm xiao 中有单引号‘,所以'I'm xiao'中的单引号会引起混淆
转义呀
addslashes -- 使用反斜线引用字符串
mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集
请使用转义哦
addslashes先处理变量
mysql_real_escape_string直接在sql里用
请使用转义符, 认真检查代码。
看不明白 到底如何写
就是在有特殊字符的地方加 \ 这个符号转义一下。
就是在有特殊字符的地方加 \ 这个符号转义一下。
2楼正解~~~转义下就OK了。。
你现在的SQL很容易被注入
需要转义哦 addslash 或者mysql_real_escape_string
请使用转义试试!