由於沒有函數來檢查一個字符串是否在輸入到數據庫之前被轉義,我怎麼能用正則表達式來做到這一點?功能來檢查一個字符串是否爲mysql的反斜槓
$string = 'some" string';
if(!preg_match('//',$string))
{
$string = mysqli_real_escape_string($string);
}
PHP手冊:
編碼NUL mysqli_real_escape_string反斜線字符(ASCII 0),\ N,\ r \,」,」,與控制-Z
在某些字符之前檢查是否有反斜槓並不難,但不可能檢查大塊文本中的反斜槓是否適用於任何任意應用程序。 – 2010-01-14 16:35:16
請結合您的代碼,讓您唯一稱呼mysqli_real_escape_string的地方就在您創建sql語句之前。那麼你不需要知道它是否已經完成。 – jmucchiello 2010-01-14 16:39:36
這個以前的答案是正確的。 http://stackoverflow.com/questions/2065391/php-what-happens-when-a-string-is-double-times-mysqlirealescapestring/2065428#2065428 – 2010-01-14 16:39:11