2012-08-06 36 views
0

我使用mysqli_real_escape_string清理髮布數據。那麼我是否也應該將addcslashes()應用於SQL LIKE子句中使用的變量?在SQL中使用乾淨的表單數據LIKE

[據我所知,使用預處理語句可能會否定這個討論]

+1

您對準備好的聲明的評論是一個很好的。你應該立即切換到那些。 http://stackoverflow.com/questions/3683746/escaping-mysql-like-query – hakre 2012-08-06 13:25:46

+0

[轉義MySQL通配符]的可能重複(http://stackoverflow.com/questions/3683746/escaping- mysql-wild-cards) - 但是給定的基於str_replace的解決方案並不適合我。請注意。 – hakre 2012-08-06 13:27:43

回答

0

如果您不能使用準備好的語句(總是一個不錯的選擇) - 據我所知,這是最好的藏漢逃脫像通配符MySQL的:

addcslashes($param, '%_'); 
+0

謝謝 - 正是我期待的! [這裏的人非常熱衷於準備好的陳述。我明白這一點..但不斷的重複有時會分散原始問題。] – 2012-08-06 14:03:56