thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫(kù)中特殊字符的問(wèn)題小結(jié)
thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫(kù)中特殊字符的問(wèn)題
為了解決這個(gè)問(wèn)題,你需要確保在插入數(shù)據(jù)庫(kù)之前,不對(duì)文本內(nèi)容進(jìn)行HTML實(shí)體編碼。如果你是從前端獲取的數(shù)據(jù),檢查是否在發(fā)送請(qǐng)求前使用 htmlspecialchars()
或類似方法進(jìn)行了轉(zhuǎn)義。如果是后端處理邏輯導(dǎo)致的轉(zhuǎn)義,那么在插入數(shù)據(jù)庫(kù)之前取消轉(zhuǎn)義或避免對(duì)其進(jìn)行轉(zhuǎn)義。
如果是在 Laravel 框架下,一般不需要手動(dòng)處理此類轉(zhuǎn)義問(wèn)題,因?yàn)?Eloquent ORM 在處理字符串時(shí)不會(huì)自動(dòng)進(jìn)行HTML實(shí)體編碼。但如果你確實(shí)遇到了這種情況,可以使用 PHP 的 html_entity_decode()
函數(shù)還原原始字符串
例子
$operation_code = html_entity_decode($name, ENT_QUOTES, 'UTF-8'); $data = [ 'operation_seq_num' => $num, 'wip_entity_name' => $wip_entity_name, 'operation_code' => $operation_code, 'creation_date' => time(), 'begin_date' => time(), 'employee_num' => $employee_num, 'created_by' => $username ]; db::table('wip_production')->insert($data);
擴(kuò)展:
Thinkphp3.2如何處理大規(guī)模并發(fā)寫入問(wèn)題
1.大規(guī)模并發(fā)寫入,出現(xiàn)數(shù)據(jù)庫(kù)鎖死,數(shù)據(jù)寫入失敗,數(shù)據(jù)表?yè)p壞等問(wèn)題
2.鎖表需要配合事務(wù)使用
3.具體代碼如下
M()->startTrans(); $lot_check = M()->table('order')->lock(true)->where(['id' => $id])->field('id,type')->find(); $data = ['status'=>2]; $res = M()->save($data); if($res) { M()->commit(); #提交事務(wù) }else{ M()->rollback(); #回滾事務(wù) }
4.采用的方法主要就是事務(wù)配合鎖表,解決大并發(fā)寫入問(wèn)題
到此這篇關(guān)于thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫(kù)中特殊字符的問(wèn)題的文章就介紹到這了,更多相關(guān)thinkphp特殊字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法分析
這篇文章主要介紹了Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法,結(jié)合實(shí)例形式分析了在Laravel框架配置Memcached緩存及相關(guān)使用方法,需要的朋友可以參考下2016-10-10php實(shí)現(xiàn)將數(shù)據(jù)做成json的格式給前端使用
今天小編就為大家分享一篇php實(shí)現(xiàn)將數(shù)據(jù)做成json的格式給前端使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08PHP根據(jù)session與cookie用戶登錄狀態(tài)操作類的代碼
這篇文章主要介紹了PHP根據(jù)session與cookie用戶登錄狀態(tài)操作類的相關(guān)資料,非常具有參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05php設(shè)計(jì)模式之適配器模式實(shí)例分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之適配器模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了PHP適配器模式相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04基于Laravel Auth自定義接口API用戶認(rèn)證的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了基于Laravel Auth自定義接口API用戶認(rèn)證的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07php加密算法之實(shí)現(xiàn)可逆加密算法和解密分享
對(duì)于大部分密碼加密,我們可以采用md5、sha1等方法??梢杂行Х乐箶?shù)據(jù)泄露,但是這些方法僅適用于無(wú)需還原的數(shù)據(jù)加密。對(duì)于需要還原的信息,則需要采用可逆的加密解密算法,下面一組PHP函數(shù)是實(shí)現(xiàn)此加密解密的方法2014-01-01ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法,是進(jìn)行ThinkPHP項(xiàng)目開(kāi)發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11ThinkPHP5.1表單令牌Token失效問(wèn)題的解決
這篇文章主要給大家介紹了關(guān)于ThinkPHP5.1表單令牌Token失效問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ThinkPHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03