PHP中addcslashes與stripcslashes函數用法分析

來源:互聯網
上載者:User
本文執行個體分析了PHP中addcslashes與stripcslashes函數用法。分享給大家供大家參考,具體如下:

在寫一個網站的英文版時,寫完後填加英文資料,我隨便填寫時一點問題沒有,但每當填加指定的內容時卻填加不上,也不報錯,我查看了資料庫,發現這個欄位用的是“TEXT”資料數型,我以為是內容過長的原因,於是我把資料類型改成了“longtext”,但提交時發現還是出現同樣的問題。下面我們給大家介紹一下addcslashes函數吧!

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

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

string addcslashes(string str,string charlist)

第1個參數str為待失物原始字串

第2個參數charlist說明需要在原始串的哪些字元前加上字元 “\”。

string stripcslashes(string str)

去掉字串中的“\”。

另外,使用addslashes函數也可直接針對“'”進行轉義處理。

樣本如下:

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

運行結果如下:

update book set bookname='let's go' where bookid=1update book set bookname=\'let\'s go\' where bookid=1update book set bookname='let's go' where bookid=1update book set bookname=\'let\'s go\' where bookid=1

希望本文所述對大家PHP程式設計有所協助。

以上就介紹了PHP中addcslashes與stripcslashes函數用法分析,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.