我有一個腳本可以讓我替換數據庫中的值。替換語句中的反斜槓 - 語法錯誤
當我使用這個:
$search[] = ("\\");
$sql[$handle]['sql'] = 'UPDATE '.$table.' SET '.$field.' = REPLACE('.$field.',\''.$search[$i].'\',\''.$replace[$i].'\')';
我收到以下錯誤:您的SQL語法錯誤;檢查對應於你的MySQL服務器版本的手冊,在第一行使用'''''''''')
我理解它可能只是一個逃避反斜槓的問題,但我試過了一切(改爲雙引號,轉義,採用字符碼,UTF-8編碼/解碼等,並仍然沒有運氣
注意,其他值正常工作(我的$列表中搜索[]值)
請確認echo $ sql [$ handle] ['sql'] ='UPDATE'。$ table。' SET'。$ field。' = REPLACE('。$ field。',''。$ search [$ i]。'\',''。$ replace [$ i]。'\')'; 退出;我們可以看到這個查詢是如何組成的。 –
作爲旁註,''UPDATE $ table SET $ field = REPLACE('$ field','{$ search [$ i]}','{$ replace [$ i]}')「;'會比較容易讀書。 – raina77ow
這給了我這樣的: 通知:未定義抵消:42在d:行\ XAMPP \項目\ replace.php 201 注意:未定義抵消:42在d:行\ XAMPP \項目\ replace.php 201 UPDATE table SET price = REPLACE(price,'','') – Woistmeinhandy