0

我无法弄清楚如何清理我的字符串以进行安全查询,同时保持字符串的含义。给定表格,其中某些值具有单引号或其他可转义字符。如何使用 real_escape_string 并仍然选择这些值?

我的表

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 注入?我只是过于谨慎了吗?

4

1 回答 1

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

您可能想从中创建一个功能

于 2011-02-06T19:45:30.683 回答