我創建了一個表單,它接收一段文本並將其插入到SQL數據庫中。當用戶使用單引號時,我不斷收到SQL錯誤。我添加了addslashes()函數,並且一切正常。但根據W3,PHP應該已經這樣做了。此外,當我從數據庫中檢索文本時,所有的撇號被替換爲 字符。逃避撇號的意外字符
有誰知道發生了什麼事?我甚至不知道從哪裏開始。
我創建了一個表單,它接收一段文本並將其插入到SQL數據庫中。當用戶使用單引號時,我不斷收到SQL錯誤。我添加了addslashes()函數,並且一切正常。但根據W3,PHP應該已經這樣做了。此外,當我從數據庫中檢索文本時,所有的撇號被替換爲 字符。逃避撇號的意外字符
有誰知道發生了什麼事?我甚至不知道從哪裏開始。
謝謝大家。
mysql_escape_string()工作。爲了記錄,addslashes()將撇號變成反引號。問題
使用這些函數將數據插入分貝或從分貝中輸出
這些將解決單引號或雙引號以及所有特殊章程的問題。
function DBin($string)
{
return trim(htmlspecialchars($string,ENT_QUOTES));
}
function DBout($string)
{
$string = trim($string);
return htmlspecialchars_decode($string,ENT_QUOTES);
}
檢查數據庫編碼以及您正在提取數據的頁面編碼 – Satya
使用'mysql_real_escape_string'並查看它是否仍在發生? – Night2