国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php stripslashes和addslashes的區(qū)別

2024-09-04 11:49:56
字體:
供稿:網(wǎng)友

這篇文章主要介紹了php stripslashes和addslashes的區(qū)別,特分享下方便需要的朋友。

我們在向mysql寫入數(shù)據(jù)時(shí),比如:

mysql_query("update table set `title`='kuhanzhu's blog'");

那就會(huì)出錯(cuò)。同asp時(shí)一樣,數(shù)據(jù)庫都會(huì)對單引號過敏。而addslashes在這個(gè)時(shí)候就最長面子了,跟asp的replace(”‘”,”””,”kuhanzhu's blog”)功能一樣。

PHP為了安全性,所以引入了個(gè)magic_quotes_gpc = On的功能,可以不需要做任何處理就能直接把單引號插入數(shù)據(jù)庫中,那么對于Off時(shí),則需要考慮單引號的問題了,而不是一味地信任運(yùn)行環(huán)境。

當(dāng)magic_quotes_gpc = On時(shí),使用了addslashes()處理后的數(shù)據(jù)在數(shù)據(jù)庫中將以/'形式保存,如果此時(shí)直接輸出的話,就會(huì)發(fā)現(xiàn)比自己期待的內(nèi)容多了個(gè)/,因此stripslashes()出場了,它能把/去掉(區(qū)別于str_replace(”/”, “”,$Str))。

當(dāng)magic_quotes_gpc = Off時(shí),使用了addslashes()處理后的數(shù)據(jù)在數(shù)據(jù)庫中將以'形式保存,沒有上面說的有/的問題,addslashes()起到插入數(shù)據(jù)不出錯(cuò)的作用,如果此時(shí)直接輸出的話,數(shù)據(jù)正常。不需要再用stripslashes()。

addslashes()和stripslashes()正好是相反的,直接記憶:addslashes()加個(gè)/,stripslashes()去個(gè)/

那么什么時(shí)候用呢?

簡單說:

當(dāng)magic_quotes_gpc = On時(shí),系統(tǒng)會(huì)自動(dòng)處理單引號等問題,用不用addslashes()和stripslashes()都沒關(guān)系,但是如果添加數(shù)據(jù)時(shí)用了addslashes(),那么顯示數(shù)據(jù)時(shí)必須要stripslashes()

當(dāng)magic_quotes_gpc = Off時(shí),系統(tǒng)不會(huì)處理單引號等問題,所以插入數(shù)據(jù)時(shí)必須要使用addslashes(),顯示數(shù)據(jù)時(shí)則不需要使用stripslashes()。

既然有了分析,做程序時(shí)要怎么辦呢?根據(jù)以上兩種情況,可得:

不管magic_quotes_gpc是On還是Off,咱添加數(shù)據(jù)時(shí)都用addslashes(),當(dāng)On時(shí),必須使用stripslashes(),Off時(shí)則不能用stripslashes()。

如何判斷On還是Off呢?用get_magic_quotes_gpc()。

最后舉例:

  1. //提交數(shù)據(jù),或者變量準(zhǔn)備: 
  2. $Content=addslashes(”這里面是數(shù)據(jù),不管有沒單引號或者還是變量”); 
  3. //插入數(shù)據(jù)到數(shù)據(jù)庫,代碼省略 
  4. //開始顯示數(shù)據(jù) 
  5. $Content=”從數(shù)據(jù)庫讀取的數(shù)據(jù)”; 
  6. if(get_magic_quotes_gpc()){ 
  7.   $Content=stripslashes($Content);  
  8. echo $Content

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 芮城县| 丰原市| 南安市| 古田县| 荣昌县| 南宫市| 永城市| 河西区| 甘谷县| 宁化县| 康保县| 沧州市| 会东县| 大洼县| 玛多县| 东台市| 泸州市| 马边| 融水| 剑川县| 银川市| 简阳市| 开江县| 满洲里市| 同江市| 娄烦县| 嵊泗县| 阜新| 太康县| 凤城市| 钟山县| 军事| 苏尼特右旗| 清苑县| 灵川县| 衡山县| 江阴市| 本溪市| 溧水县| 三门县| 泾阳县|