PHP中addcslashes函數(shù)與stripcslashes的用法_PHP教程
推薦:PHP.MVC的模板標(biāo)簽系統(tǒng)PHP.MVC的模板標(biāo)簽系統(tǒng)(PhpMVC_Tags)現(xiàn)在提供了3種類型的標(biāo)簽:包含指令,聲明和表達(dá)式. 包含指令能讓我們將內(nèi)容分隔為許多模塊,比如:頁眉,頁腳或者內(nèi)容.包含的頁面可以是HTML,或者其他標(biāo)簽?zāi)0屙?/p>
今天在寫一個(gè)網(wǎng)站的英文版時(shí),寫完后填加英文資料,我隨便填寫時(shí)一點(diǎn)問題沒有,但每當(dāng)填加指定的內(nèi)容時(shí)卻填加不上,也不報(bào)錯(cuò),我查看了數(shù)據(jù)庫,發(fā)現(xiàn)這個(gè)字段用的是“TEXT”數(shù)據(jù)數(shù)型,我以為是內(nèi)容過長(zhǎng)的原因,于是我把數(shù)據(jù)類型改成了“longtext”,但提交時(shí)發(fā)現(xiàn)還是出現(xiàn)同樣的問題。
后來請(qǐng)教同事,同事發(fā)現(xiàn)在是英文中帶標(biāo)點(diǎn)“'”的原因,MySQL執(zhí)行到此處后自動(dòng)認(rèn)為語句結(jié)束,所以才填加不上。既然找出來了問題那就得找出對(duì)應(yīng)的解決方法,那就是在文本內(nèi)容中的“'”前全部加上轉(zhuǎn)義字符“\”,正好PHP中提供了自動(dòng)在字符串中加入或去除轉(zhuǎn)義字符的函數(shù)addcslashes和stripcslashes,于是加上測(cè)試后,果然問題解決!由此可見,我平日寫程序時(shí)不夠嚴(yán)禁,總是會(huì)忽略這樣那樣的細(xì)節(jié)問題,如果被HACKER發(fā)現(xiàn)這些問題加一利用,網(wǎng)站基本就OVER了,所以大家一定要引以為戒,不要和我犯同樣的錯(cuò)誤哦。
下面簡(jiǎn)單介紹這兩個(gè)函數(shù)的用法:
string addcslashes(string str,string charlist):第1個(gè)參數(shù)str為待失物原始字符串,第2個(gè)參數(shù)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
?>
分享:mysql 時(shí)間轉(zhuǎn)換函數(shù)的用法mysql 時(shí)間轉(zhuǎn)換函數(shù)的用法2007-10-31 15:03DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對(duì)應(yīng)于ODBC標(biāo)準(zhǔn)。 mysql> select DAYOFW
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP中addcslashes函數(shù)與stripcslashes的用法
。