关于PDO取得结果集的数据类型为string的问题
很久没写些什么了, 正好今天工作中遇到了以前在意过的问题。
之前曾注意到过,php从数据库中取得的结果集后,其中的字段全都会变成string类型。今儿通过ajax调取数据, 有一个type字段是int型, 没多想就在js里面写了
if (data.type) {
// do sth
}
结果发现没进入if, debug一下发现data.type值是“0”, 才想起是数据类型的问题。
其实php经过不断的发展, 正在成为一门更完善的WEB脚本语言。详细了解后得知,早期的mysql扩展是不能获取结果集中字段的数据类型的,后来的mysqli扩展配合mysqlnd驱动则是可以的,随后的PDO扩展就更不在话下了。但是需要做一定的配置:
//关闭string转换
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
//关闭模拟prepare
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
php框架的数据库类一般也是封装的PDO, 所以对其进行相应配置即可。
经过测试,确定Laravel是以此作为默认设置的, 而Yii2不是。
关于PDO取得结果集的数据类型为string的问题的更多相关文章
- PHP PDO获取结果集
一.介绍PDO获取结果集,不得不介绍一下PDO是如果执行SQL语句,一般情况下分三种, 1.query()方法 query()方法通常用于返回执行查询后的结果集.语法是这样的:PDOStatement ...
- 基本数据类型转String,String转基本数据类型
基本数据类型 --> 字符串 1.基本数据类型+"" String s = 5 + ""; 2.使用包装类的静态方法toString(参数),参数是要转化 ...
- C# 数据类型之 String(字符串)
Ø 简介 在开发中最常见的数据类型就是 String 类型,即字符串类型.为什么要单独讨论下这个类型,是因为:它是系统内置的基础数据类型:它的使用频率非常高:它是一个特殊的引用类型.其实大家都会使用 ...
- Redis学习(4)-数据类型,string,hash
Redis数据类型: redis使用键值对保存数据 key:全部是字符串 value:五种数据类型:string,hash,List,Set,有序的Set集合. key命名:自定义,名字不要过长,否则 ...
- java中 引用传递、值传递的理解(数组,自定义类,基本数据类型,String类)
代码部分: public static void main(String[] args) { testInt(); testString(); testArray(); testX(); } publ ...
- 数据类型总结——String(字符串类型)
相关文章 简书原文:https://www.jianshu.com/p/546a755c3eb6 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...
- PDO 查询mysql返回字段int变为String型解决方法
PDO 查询mysql返回字段int变为String型解决方法使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...
- go中基本数据类型转换为string类型的方法
代码 // 基本数据类型转换为string类型 package main import ( "fmt" "strconv" ) func main() { // ...
- js五种基本数据类型:string, number, boolean, null, undefined
/** * 五种基本数据类型:string, number, boolean, null, undefined */ // undefined // 声明变量foo,未声明变量bar var foo; ...
随机推荐
- XSS--PHPwind5.3复现
xss再分析 短payload <svg/onload=alert(1)> <body/onfocus=alert``> <body/onfocus=confirm``& ...
- Jmeter做压力测试的心得
什么是性能压测? 也是最近刚刚接触到,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定,通常情况,是模拟多个请求同时 请求服务器,也就是在某个时间内,比如说1秒内,调用接口 ...
- python终极篇 ---django 模板系统
模板系统 . MV ...
- OpenMPI源码剖析2:ompi_mpi_errors_are_fatal_comm_handler函数
上一篇文章说道,初始化失败会有一个函数调用: ompi_mpi_errors_are_fatal_comm_handler(NULL, NULL, message); 所以这里简单地进入了 ompi_ ...
- 加密SecurityHelper
接下来给大家分享一下我用的加密helper,现在只用的md5加密的方法,网上很多方法找到的时候加密完了会变成乱码,这样对于密码这种字段保存的时候就会出错.其实只需要把加密完的byte字节转化成16位就 ...
- 告别加载dll 出错开机加载项大揭秘
提到开机加载(load)项,大家不要以为就是系统启动(run)项.最简单的例子是,杀毒软件或者用户手动删除病毒文件后,注册表中的自动加载信息仍在,登陆系统时就会提示"加载*dll出错,系统找 ...
- poj 2155 (二维树状数组 区间修改 求某点值)
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 33682 Accepted: 12194 Descript ...
- ubuntu ssh配置
Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over ...
- 论文笔记:Deep Attentive Tracking via Reciprocative Learning
Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...
- 软工2017团队协作第七周——个人PSP
10.27 --11.2本周例行报告 1.PSP(personal software process )个人软件过程. 类型 任务 开始时间 结束时间 中断时间 实际用时 ...