博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeIgniter pdo与postgres原生驱动对bool类型取值是不同的
阅读量:6835 次
发布时间:2019-06-26

本文共 852 字,大约阅读时间需要 2 分钟。

  hot3.png

CI版本2.1.3 ,对于返回bool类型值,比如

SELECT FALSE
如果用的是pdo驱动,那么取值结果也是bool类型。如果是postgres驱动,那么得到的是'f'字符串。

这个问题是PHP自己的问题:在老版本的pdo驱动发生过(好像是php5.1之前版本),现在的pdo已经修正。但postgres驱动看来没得到处理。

以下是php手册的信息:

strata_ranger at hotmail dot com (26-Aug-2008 11:01)
In a bit of follow-up to Luke's note about SQL booleans (this was a painful thing to learn the hard way), a relatively easy workaround is to typecase the boolean columns to integer inside the query, e.g:
<?php // Assuming 'foo' is a table column of type boolean
$res = pg_query("Select foo as foo1, foo::integer as foo2 from bar");
$data = pg_fetch_assoc($res);
if ($data['foo1']) echo 'foo1 = TRUE'; // Doesn't work as expected (string 't' and string 'f' both evaluate as TRUE)
if ($data['foo2']) echo 'foo2 = TRUE'; // Works as expected (string '0' evaluates as FALSE)
?>

转载于:https://my.oschina.net/mark35/blog/127462

你可能感兴趣的文章
PHP获取常用时间的总结
查看>>
设计模式6大原则:里氏置换原则
查看>>
hbase0.94.14伪分布式安装
查看>>
Debug记录:vCenter6.5突然不能访问并报错“503 Service Unavailable”
查看>>
自动导出oracle的数据
查看>>
顺序表实现的源码
查看>>
我的友情链接
查看>>
iOS调用系统摄像头和相册
查看>>
mysql文件导入办法(直接copy数据库文件)
查看>>
善用WIN四把利剑提升服务器稳定性
查看>>
Hadoop学习笔记《关于HDFS》
查看>>
【二叉树】线索化二叉树
查看>>
Office365混合部署之用户权限(角色)分配
查看>>
logback配置
查看>>
rhel6配置多用户tiger vnc server
查看>>
Mac环境下svn的使用
查看>>
Pig读写HBase数据
查看>>
NumPy基础(一)
查看>>
菜鸟学Linux 第104篇笔记 varnish
查看>>
ATEN宏正盛装出席Infocomm China 2016
查看>>