Mysql Php 使用 real_escape_string 转义单引号
我无法弄清楚如何清理字符串以进行安全查询,同时保持字符串的含义。 给定表中某些值具有单引号或其他可转义字符。如何使用 real_escape_string 并仍然选择这些值?
my_table
Col1 Col2
-----------------
1 value's1
2 value's2
value's1 来自 url,所以我必须用 mysqli::real_escape_string 清理它 这意味着我的查询看起来像这样
SELECT Col1,Col2 FROM my_table WHERE Col2 = 'value\'s1'
当然,因此我没有返回任何结果。
处理这个问题有哪些不同的策略?
注意:刚刚执行了 phpinfo() 并且 magic_quotes_gpc 处于“关闭”状态。 我是否有必要清理这个值?我不明白当 php 一次只允许一个查询时,有人如何进行 sql 注入?是我过于谨慎了吗?
I am having trouble figuring out how to clean my strings for safe queries while maintaining the meaning of the string.
Given the table where some of the values have single quotes or other escapable characters. How do I use real_escape_string and still select those values?
my_table
Col1 Col2
-----------------
1 value's1
2 value's2
value's1 is coming from the url so I have to clean it with mysqli::real_escape_string
Which means that my query looks like this
SELECT Col1,Col2 FROM my_table WHERE Col2 = 'value\'s1'
And of course because of this I am getting no results returned.
What are the various strategies for dealing with this problem?
Note: Just did phpinfo() and magic_quotes_gpc is 'off'.
Is it neccessary for me to clean this value I don't see how someone could do an sql injection when php only allows one query at a time? Am i just being over cautious?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可能想用它来做一个函数
You might want to make a function out of this