thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫中特殊字符的問題小結(jié)
thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫中特殊字符的問題
為了解決這個問題,你需要確保在插入數(shù)據(jù)庫之前,不對文本內(nèi)容進行HTML實體編碼。如果你是從前端獲取的數(shù)據(jù),檢查是否在發(fā)送請求前使用 htmlspecialchars() 或類似方法進行了轉(zhuǎn)義。如果是后端處理邏輯導(dǎo)致的轉(zhuǎn)義,那么在插入數(shù)據(jù)庫之前取消轉(zhuǎn)義或避免對其進行轉(zhuǎn)義。
如果是在 Laravel 框架下,一般不需要手動處理此類轉(zhuǎn)義問題,因為 Eloquent ORM 在處理字符串時不會自動進行HTML實體編碼。但如果你確實遇到了這種情況,可以使用 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);擴展:
Thinkphp3.2如何處理大規(guī)模并發(fā)寫入問題
1.大規(guī)模并發(fā)寫入,出現(xiàn)數(shù)據(jù)庫鎖死,數(shù)據(jù)寫入失敗,數(shù)據(jù)表損壞等問題
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ā)寫入問題
到此這篇關(guān)于thinkphp解決數(shù)據(jù)傳入數(shù)據(jù)庫中特殊字符的問題的文章就介紹到這了,更多相關(guān)thinkphp特殊字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP之使用swoole統(tǒng)計在線人數(shù)和ID案例講解
這篇文章主要介紹了PHP之使用swoole統(tǒng)計在線人數(shù)和ID案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08
如何用PHP來實現(xiàn)一個動態(tài)Web服務(wù)器
這篇文章介紹了如何用PHP來實現(xiàn)一個動態(tài)Web服務(wù)器,文章思路清晰,并附有演示代碼地址,需要的朋友可以參考下2015-07-07
laravel Validator ajax返回錯誤信息的方法
今天小編就為大家分享一篇laravel Validator ajax返回錯誤信息的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例
這篇文章主要介紹了ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作,結(jié)合實例形式分析了thinkPHP5、5.1關(guān)聯(lián)模型的建立、控制器、模型的實現(xiàn)及分頁操作相關(guān)技巧,需要的朋友可以參考下2019-08-08

