CodeIgniter db->query查询结果整形变字符串
$query=$this->db->query("SELECT*FROMcategories");$arr=$query->result_array();echo"<pr...
$query = $this->db->query("SELECT * FROM categories ");
$arr=$query->result_array();
echo "<pre>";var_dump($arr);echo "</pre>";
查询出的结果
array(7) {
["id"]=>
string(1) "1"
....
本来值应该为int(1)的,怎么会变成string(1) 呢?怎么更改呢? 展开
$arr=$query->result_array();
echo "<pre>";var_dump($arr);echo "</pre>";
查询出的结果
array(7) {
["id"]=>
string(1) "1"
....
本来值应该为int(1)的,怎么会变成string(1) 呢?怎么更改呢? 展开
展开全部
刚为了你的问题折腾半天,我还以为是CI缺陷呢,追了半天CI源码一直追到了PHP语句。思考半天才明白。
要知道,数据库中储存的数据类型是非常多的,要想取出带类型的数据,环境不一定支持的,所以PHP与mysql的通讯全都用string。
这不是CI的缺陷,也不是缺陷,只能这样。不然你在数据库设置了一个枚举类型(enum),让PHP去取,PHP情何以堪啊。
总而言之一句话,数据库里出来的数据,只能是string类型的。你可以取出后再加以转化。
我觉得吧,从数据库外键系统推测,各种数据库外键和类型等等仅仅是数据库内部对数据的限制,一个类似正则表达式的限制。
属于数据库的设置,数据库的隐私,不会对外公布的。
要知道,数据库中储存的数据类型是非常多的,要想取出带类型的数据,环境不一定支持的,所以PHP与mysql的通讯全都用string。
这不是CI的缺陷,也不是缺陷,只能这样。不然你在数据库设置了一个枚举类型(enum),让PHP去取,PHP情何以堪啊。
总而言之一句话,数据库里出来的数据,只能是string类型的。你可以取出后再加以转化。
我觉得吧,从数据库外键系统推测,各种数据库外键和类型等等仅仅是数据库内部对数据的限制,一个类似正则表达式的限制。
属于数据库的设置,数据库的隐私,不会对外公布的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询