Mysql Php 使用 real_escape_string 转义单引号

发布于 2024-10-16 12:59:28 字数 536 浏览 3 评论 0原文

我无法弄清楚如何清理字符串以进行安全查询,同时保持字符串的含义。 给定表中某些值具有单引号或其他可转义字符。如何使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

來不及說愛妳 2024-10-23 12:59:28
if(get_magic_quotes_gpc())
{
    $string = stripslashes($string);
            $string = mysqli_real_escape_string($string);
}
else
{
    $string = mysqli_real_escape_string($string);
}

你可能想用它来做一个函数

if(get_magic_quotes_gpc())
{
    $string = stripslashes($string);
            $string = mysqli_real_escape_string($string);
}
else
{
    $string = mysqli_real_escape_string($string);
}

You might want to make a function out of this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文