900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php tinyint Qeephp 中数据的 tinyint 类型

php tinyint Qeephp 中数据的 tinyint 类型

时间:2022-09-08 06:55:28

相关推荐

php tinyint Qeephp 中数据的 tinyint 类型

今天在写程序时碰到了一个问题,我的数据结构如下:

使用表单传递参数:

标题

收件人

内容

经过一系列的数据处理之后得到我要的数据数组,输出结果为:

然后我把得到的数据用模型的save()方法存入到数据库中:

$pm_list_mod = new Pmlists($pm_list);

$pm_list_mod->save();

一切都没有问题,可是在前台显示的时候却不正确了,然后我查看保存到数据库中的记录时,奇迹发生了:

这是为什么?前面我们已经知道传递的值应该是2,可以保存到数据库中却成了1。所以前台显示的时候当然就不正确了,这是什么原因呢,在保存之前我们输出一下新建的模型实例:

$pm_list_mod = new Pmlists($pm_list);

echo '

';

print_r($pm_list_mod);

echo '

';

exit();

得到结果:

可见在这个时候我们传递的值就已经改变了,为什么会这样呢?原因是什么,我百思不得其解。最后只能求助经理了;原来在QeePHP框架中 tinyint 类型的数据会被当作布尔类型BOOL/BOOLEAN数据来使用,会自动将数据的值转换。此时恍然大悟,其实这样的设计也不无道理,我们在用 phpMyadmin 建立数据表时是不支持 Bool 型的数据的,这样一来如何识别呢?当然用 tinyint 类型来解决就可以了。

原因找到,现在要解决问题了,修改表的结构:

然后再次测试,查看保存的数据:

可以看到数据插入成功了。

由此可见,我们在设计数据库时还是要考虑全面一点的,当处理不是太大的整形数据时我们可以设置 int 型字段的长度来达到我们所要的效果。

记录此问题纯粹为了方便以后的查阅,如果有不足之处,你可以告诉我哦。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。