本篇內(nèi)容介紹了“php怎么插入含有特殊符號的數(shù)據(jù)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)與策劃設(shè)計,察哈爾右翼前網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:察哈爾右翼前等地區(qū)。察哈爾右翼前做網(wǎng)站價格咨詢:028-86922220
問題:
當(dāng)我們在向MySQL寫入數(shù)據(jù)時,如果數(shù)據(jù)中有特殊字符就會出現(xiàn)數(shù)據(jù)無法正常入庫的情況,比如:
1 | mysql_query(”update table set `name`= 'make' s'”); |
而這個時候一般就是使用addslashes()
這個函數(shù)來轉(zhuǎn)義數(shù)據(jù)中的特殊字符
處理方法
PHP為了安全性,所以引入了個magic_quotes_gpc = On
的功能,可以不需要做任何處理就能直接把單引號插入數(shù)據(jù)庫中,那么對于Off時,則需要考慮單引號的問題了,而不是一味地信任運行環(huán)境。
當(dāng)magic_quotes_gpc = On
時,使用了addslashes()
處理后的數(shù)據(jù)在數(shù)據(jù)庫中將以\'形式保存,如果此時直接輸出的話,就會發(fā)現(xiàn)比自己期待的內(nèi)容多了個\,因此stripslashes()
出場了,它能把\去掉(區(qū)別于str_replace(”\”, “”,$Str)
)。
當(dāng)magic_quotes_gpc = Off
時,使用了addslashes()
處理后的數(shù)據(jù)在數(shù)據(jù)庫中將以'形式保存,沒有上面說的有\(zhòng)的問題,addslashes()
起到插入數(shù)據(jù)不出錯的作用,如果此時直接輸出的話,數(shù)據(jù)正常。不需要再用stripslashes()
。
addslashes()
和stripslashes()
正好是相反的,直接記憶:addslashes()
加個\,stripslashes()
去個\
那么什么時候用呢?
簡單說:
當(dāng)magic_quotes_gpc = On
時,系統(tǒng)會自動處理單引號等問題,用不用addslashes()
和stripslashes()
都沒關(guān)系,但是如果添加數(shù)據(jù)時用了addslashes()
, 那么顯示數(shù)據(jù)時必須要stripslashes()
當(dāng)magic_quotes_gpc = Off
時,系統(tǒng)不會處理單引號等問題,所以插入數(shù)據(jù)時必須要使用addslashes()
,顯示數(shù)據(jù)時則不需要使用stripslashes()
。
既然有了分析,做程序時要怎么辦呢?根據(jù)以上兩種情況,可得:
不管magic_quotes_gpc
是On還是Off,咱添加數(shù)據(jù)時都用addslashes()
,當(dāng)On時,必須使用stripslashes()
,Off時則不能用stripslashes()
。
“php怎么插入含有特殊符號的數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
本文名稱:php怎么插入含有特殊符號的數(shù)據(jù)
URL網(wǎng)址:http://chinadenli.net/article0/giipoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、、域名注冊、移動網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)