首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Thinkphp中MySQL按照中文拼音排序问题的处理

    今天分享一下如何在mysql中对中文进行排序,介绍下thinkphp连贯操作的order底层原理 例:M(‘Project’)->order(‘name’)->select(); 这段代码最后转换成原生...order by `name`; 原生代码按照汉字排序是这样的: select * from `project` order by convert(`name` using gb2312) asc; 所以thinkphp...发现还不是想要的效果,这也不能怪mysql,毕竟中文博大精深,而我们的目标实际是中文的拼音排序,默认情况下mysql是不认识的(虽然我的数据库所有编码都已经设置为了utf-8)。...效果和第一种方法一样 还有一种我没有验证的方法,网友提供的,大家可以参考下: 如果你使用源码编译MySQL,可以编译MySQL时使用 –with–charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了...=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysql_safe] default-character-set

    3.4K10

    一个执行计划异常变更的案例 - 外传之查看绑定变量值的几种方法

    这篇外传之前有这么几篇文章: 《一个执行计划异常变更的案例 - 前传》 《一个执行计划异常变更的案例 - 外传之绑定变量窥探》 上一篇文章介绍了绑定变量以及11g之前绑定变量窥探的影响,这篇文章会介绍几种查看绑定变量值的方法...绑定变量窥探则是第一次执行SQL硬解析时,会窥探使用的绑定变量值,根据该值的分布特征,选择更合适的执行计划,副作用就是如果绑定变量列值分布不均匀,由于只有第一次硬解析才会窥探,所以可能接下来的SQL执行会选择错误的执行计划...我们此时换一下绑定变量值,发现vsql_bind_capture信息未变,dbsnake的书中曾说过当SQL执行硬解析时绑定变量值被捕获,并可从视图v$sql_bind_capture中查询。...,后续执行的SQL执行计划应该比较稳定,因此只要能比较实时地查看第一次绑定变量值即可。...等大约一分钟,此时可以从v$sql_bind_capture查询刚使用的绑定变量值, ?

    1.1K30

    【说站】mysql绑定变量有哪些限制

    mysql绑定变量有哪些限制 说明 1、绑定变量是会话级别,因此连接间不能共用绑定变量句柄。同样,如果连接断裂,原来的句柄就不能再使用了。...(连接池和持续连接可以在一定程度上缓解这个问题) 2、在MySQL5.1之前,绑定变量的SQL不能使用查询缓存。 3、并非所有时候使用绑定变量都能获得更好的性能。...(为了正确使用绑定变量,使用完毕后需要释放相关资源) 4、在当前版本下,存储函数不能使用绑定变量,但在存储过程中可以使用。 5、如果总是忘记释放绑定变量资源,服务器方面容易发生资源泄漏。...绑定变量SQL总是受到限制,因此其他错误可能会影响其他线程。...以上就是mysql绑定变量的限制,希望对大家有所帮助。更多mysql学习指路:MySQL 收藏 | 0点赞 | 0打赏

    2.8K20

    ThinkPHP3.2.3新特性之:数据库设置

    ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用。...DB_SQL_BUILD_LENGTH' // 3.2.3取消了SQL创建缓存 'DB_SQL_LOG' // 由新增的DB_DEBUG参数取代 'DB_BIND_PARAM' // 新版采用PDO 自动参数绑定...用于开启数据库调试模式,开启后即可记录SQL日志 'DB_LITE' // 是否采用数据库Lite模式连接 开启后只能使用原生SQL查询 3.2.2版本数据库的调试模式和项目的调试模式(由APP_DEBUG常量定义)是绑定的...>'mysql', // 不再支持设置为PDO 也不再区分mysql和mysqli 数据库的连接信息,主要包括下面参数: 'DB_HOST' => '', // 服务器地址...2 'DB_CONFIG2' => 'mysql://root:1234@192.168.1.10:3306/thinkphp#utf8'; 然后在模型里面定义: //在模型里单独设置数据库连接信息

    76341

    简记一次Tp3框架审计之旅

    /1698 接下来我们需要了解一下ThinkPHP框架。...我们需要在本地Mysql中新建一个thinkphp数据库用于测试,然后在其中新建一个users数据表,包括id、username、passwd三个字段 接下来我们需要让Tp与Mysql中的数据库进行对接...php return array( 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => '...options为数组,所以直接pass,第二个if语句,我们的 if(is_scalar($val)) { 这里的is_scalar是检验变量是否为标量,什么是标量,官方文档如下 我们这里的$val变量值如下...我们跟进此函数 图片 $_filename是之前获取到的的缓存文件路径,$vars是带有变量_filename的数组,这里的$vars不为空,因此使用extract方法的EXTR_OVERWRITE默认描述对变量值进行覆盖

    1.4K50

    简记一次Tp3框架审计之旅

    /1698 接下来我们需要了解一下ThinkPHP框架。...我们需要在本地Mysql中新建一个thinkphp数据库用于测试,然后在其中新建一个users数据表,包括id、username、passwd三个字段 接下来我们需要让Tp与Mysql中的数据库进行对接...php return array( 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => '...options为数组,所以直接pass,第二个if语句,我们的 if(is_scalar($val)) { 这里的is_scalar是检验变量是否为标量,什么是标量,官方文档如下 我们这里的$val变量值如下...函数对其进行了处理,我们跟进此函数_filename是之前获取到的的缓存文件路径,vars是带有变量_filename的数组,这里的vars不为空,因此使用extract方法的EXTR_OVERWRITE默认描述对变量值进行覆盖最后

    99870
    领券