close

網頁設計PHP中addcslashes函數與stripcslashes的用法

發佈者:作者:Web Design香港網頁設計大皇 - 網站設計

Web Design

  今天在寫一個網站的英文版時,寫完後填加英文資料,我隨便填寫時一點問題沒有,但每當填加指定的內容時卻填加不上,也不報錯,我查看了數據庫,發現這個字段用的是“TEXT”數據數型,我以為是內容過長的原因,於是我把數據類型改成了“longtext”,但提交時發現還是出現同樣的問題。

  後來請教同事,同事發現在是英文中帶標點“'”的原因,MySQL執行到此處後自動認為語句結束,所以才填加不上。既然找出來了問題那就得找出對應的解決方法,那就是在文本內容中的“'”前全部加上轉義字符“\”,正好PHP中提供了自動在字符串中加入或去除轉義字符的函數addcslashes和stripcslashes,於是加上測試後,果然問題解決!由此可見,我平日寫程序時不夠嚴禁,總是會忽略這樣那樣的細節問題,如果被HACKER發現這些問題加一利用,網站基本就OVER了,所以大家一定要引以為戒,不要和我犯同樣的錯誤哦。

  下面簡單介紹這兩個函數的用法:

    string addcslashes(string str,string charlist):第1個參數str為待失物原始字符串,第2個參數charlist說明需要在原始串的哪些字符前加上字符     “\”。
  string stripcslashes(string str):去掉字符串中的“\”。

  例:
  <?php
  $sql = "update book set bookname='let's go' where bookid=1";
  echo $sql."<br>";
  $new_sql = addcslashes($sql,"'");
  echo $new_sql."<br>"; //update book set bookname=\'let\'s go\' where bookid=1
  $new_sql_01 = stripcslashes($new_sql);
  echo $new_sql_01;  //update book set bookname='let's go' where bookid=1
 ?>

  本文章出自Shuro's Blog(http://webdesign.zoapcon.comcn),轉載請註明出處,謝謝!

Web Hosting
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 hkseo 的頭像
    hkseo

    SEO搜索排名專家

    hkseo 發表在 痞客邦 留言(0) 人氣()