簡體   English   中英

Mysql Php使用real_escape_string轉義單引號

[英]Mysql Php Escaping single quotes with 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注入? 我只是過分謹慎了嗎?

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

您可能想利用此功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM