我有一個網站,該網站上的所有MySQL查詢像這樣使用了自定義功能和addslashes:手動功能,防止MySQL的注射沒有準備好的發言
function custom_addslashes($str) {
return mysql_real_escape_string($str);
}
最近我發現了mysql_real_escape_string已被棄用。 我有兩個選擇。無論是
經過整個網站並轉換爲準備好的發言的每一頁,(哎呀)或
修改上面的功能。我認爲不可能修改上述函數來使用PDO,因爲它用於許多不同的查詢。
有沒有一種很好的方法來做選項2. 有點像?
function custom_addslashes($str) {
return strtr($str, array("\0" => "", "\\" => "\","'","\\'"));
}
clarifed問題
可能的重複[如何防止SQL注入PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
爲什麼自定義函數當你完美的工作布爾功能。? –
您應該可以使用PDO/MYSQLi查看準備好的語句。 –