日期:2014-05-17  浏览次数:20690 次

mysql中"'"的问题
"select * from databases where 'name'='my name'"


当my name变成I'm xiao的时候就出错了,怎么解决啊????


"select * from databases where 'name'='I'm xiao'"

MySQL select

------解决方案--------------------
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