2009-01-24 48 views
0

stripslashes()?這是跛腳,所以4.0。什麼是mysqli :: real_escape_string的5.0對應物,它刪除了爲SQL查詢添加的所有斜槓?mysqli :: real_escape_string的對應部分?

得到了一些其他問題:

  1. 嘗試更新記錄,並添加文本字段一個單引號,原來phpMyAdmin的逃逸單引號,而不是斜槓字符串 - 例如一個單引號被轉義爲''(2個單引號)而不是\' - phpMyAdmin使用的是什麼函數還是它自己的?所以,mysql支持2種轉義字符串的方法,即斜槓和單引號?

  2. 我是否總是要對從MySQL中選擇的字符串進行取消刷新?因爲'你知道它在插入時被削減了。但我認爲我不必這樣做。

任何想法,謝謝!

回答

3

如果您不想使用PDO,並且您使用的是mysqli,那麼您應該使用預準備語句,因此您不必擔心使用mysql_real_escape_string_i_mean_it_this_time之類的內容來引用轉義引號。

更具體地說,您可以撥打mysqli->prepare來準備您的查詢。致電mysqli_stmt->bind_param設置參數值。並且,請致電mysqli_stmt->execute執行查詢。

3

使用PDO而不是任何mysql[i]/pgsql/...擴展名。

如果你只是想扭轉魔術引號造成的傷害,stripslashes()正是你想要的。

1

ini_set('magic_quotes_runtime', false);

相關問題