2012-09-20 56 views
0

我創建了一個表單,它接收一段文本並將其插入到SQL數據庫中。當用戶使用單引號時,我不斷收到SQL錯誤。我添加了addslashes()函數,並且一切正常。但根據W3,PHP應該已經這樣做了。此外,當我從數據庫中檢索文本時,所有的撇號被替換爲 字符。逃避撇號的意外字符

有誰知道發生了什麼事?我甚至不知道從哪裏開始。

+1

檢查數據庫編碼以及您正在提取數據的頁面編碼 – Satya

+0

使用'mysql_real_escape_string'並查看它是否仍在發生? – Night2

回答

0

謝謝大家。

mysql_escape_string()工作。爲了記錄,addslashes()將撇號變成反引號。問題

0

使用這些函數將數據插入分貝或從分貝中輸出
這些將解決單引號或雙引號以及所有特殊章程的問題。

function DBin($string) 
{ 
    return trim(htmlspecialchars($string,ENT_QUOTES)); 
} 

function DBout($string) 
{ 
    $string = trim($string); 
    return htmlspecialchars_decode($string,ENT_QUOTES); 
}