MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠轉義


問題描述:
mysql中帶有反斜杠的內容入庫后,發現反斜杠無故失蹤了(俗話說被吃掉了)
 例:插入insert into tb('url') values('absc\eeee'); 結果數據庫里的內容是:absceeee(反斜杠沒了呢)

這么詳細了相信大家都搞清楚問題了吧,下面看解決方案。

解決方案:
用addslashes(),mysql_escape_string()等函數進行處理,也就是在插入數據庫前,把內容處理一下
  如:$cc = addslashes('absc\eeee'); insert into tb('url') values($cc);

突然發現好了也,有沒有。但是中間到底發生了什么,你是否清楚,接着往下看-》》》

發生了什么:
mysql 在插入數據庫的時候,會自動去除轉義字符也就是反斜杠"\",addslashes(),mysql_escape_string()使用這些函數可以在反斜杠前再加個反斜杠也就是成了 absc\\eeee,在入庫的時候第一個反斜杠被認為是轉義字符,第二個反斜杠被認為是常規內容,所以去除了第一個反斜杠,保留了第二個,看到的結果是反斜杠插進去了。

(轉)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM