thinkphp解决数据传入数据库中特殊字符的问题小结

 更新时间:2024年03月18日 15:14:32   作者:二十五号底片~  
这篇文章主要介绍了thinkphp解决数据传入数据库中特殊字符的问题,为了解决这个问题,你需要确保在插入数据库之前,不对文本内容进行HTML实体编码,需要的朋友可以参考下

thinkphp解决数据传入数据库中特殊字符的问题

为了解决这个问题,你需要确保在插入数据库之前,不对文本内容进行HTML实体编码。如果你是从前端获取的数据,检查是否在发送请求前使用 htmlspecialchars() 或类似方法进行了转义。如果是后端处理逻辑导致的转义,那么在插入数据库之前取消转义或避免对其进行转义。

如果是在 Laravel 框架下,一般不需要手动处理此类转义问题,因为 Eloquent ORM 在处理字符串时不会自动进行HTML实体编码。但如果你确实遇到了这种情况,可以使用 PHP 的 html_entity_decode() 函数还原原始字符串

例子

$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如何处理大规模并发写入问题

1.大规模并发写入,出现数据库锁死,数据写入失败,数据表损坏等问题

2.锁表需要配合事务使用

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(); #提交事务
}else{
M()->rollback(); #回滚事务
}

4.采用的方法主要就是事务配合锁表,解决大并发写入问题

到此这篇关于thinkphp解决数据传入数据库中特殊字符的问题的文章就介绍到这了,更多相关thinkphp特殊字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Laravel Memcached缓存驱动的配置与应用方法分析

    Laravel Memcached缓存驱动的配置与应用方法分析

    这篇文章主要介绍了Laravel Memcached缓存驱动的配置与应用方法,结合实例形式分析了在Laravel框架配置Memcached缓存及相关使用方法,需要的朋友可以参考下
    2016-10-10
  • php实现将数据做成json的格式给前端使用

    php实现将数据做成json的格式给前端使用

    今天小编就为大家分享一篇php实现将数据做成json的格式给前端使用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • PHP根据session与cookie用户登录状态操作类的代码

    PHP根据session与cookie用户登录状态操作类的代码

    这篇文章主要介绍了PHP根据session与cookie用户登录状态操作类的相关资料,非常具有参考借鉴价值,需要的朋友可以参考下
    2016-05-05
  • php设计模式之适配器模式实例分析【星际争霸游戏案例】

    php设计模式之适配器模式实例分析【星际争霸游戏案例】

    这篇文章主要介绍了php设计模式之适配器模式,结合星际争霸游戏案例形式分析了PHP适配器模式相关原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 基于Laravel Auth自定义接口API用户认证的实现方法

    基于Laravel Auth自定义接口API用户认证的实现方法

    这篇文章主要给大家介绍了基于Laravel Auth自定义接口API用户认证的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • php加密算法之实现可逆加密算法和解密分享

    php加密算法之实现可逆加密算法和解密分享

    对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。对于需要还原的信息,则需要采用可逆的加密解密算法,下面一组PHP函数是实现此加密解密的方法
    2014-01-01
  • 浅析php单例模式

    浅析php单例模式

    本文从设计模式的概念说起,讲述了php设计模式中的单例模式,均是些基础性知识,给初学者们一个提高的契机。
    2014-11-11
  • ThinkPHP实现动态包含文件的方法

    ThinkPHP实现动态包含文件的方法

    这篇文章主要介绍了ThinkPHP实现动态包含文件的方法,是进行ThinkPHP项目开发中非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • ThinkPHP CURD方法之page方法详解

    ThinkPHP CURD方法之page方法详解

    page方法是完全为分页查询而诞生的一个人性化操作方法这篇文章主要介绍了ThinkPHP CURD方法的page方法,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP5.1表单令牌Token失效问题的解决

    ThinkPHP5.1表单令牌Token失效问题的解决

    这篇文章主要给大家介绍了关于ThinkPHP5.1表单令牌Token失效问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用ThinkPHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03

最新评论