mysql中"'"的问题

WBOY
WBOYoriginal
2016-06-23 14:05:33848parcourir

"select * from databases where 'name'='my name'"


当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

请使用转义试试!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:复选数据汇总问题Article suivant:PHP 5.4.14 and PHP 5.3.24 released!