php 取得Mysql原格式的数据

我在使用php操作mysql的时候, 取得的所有数据都是字符串, 我现在想取得Mysql存储的数据的, 且与它在mysql中定义的类型是一致的, 能不能做到呢?

阅读 5.7k
7 个回答
//try
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);

刚刚var_dump尝试了下,的确是都是string类型。
不过php本来就是弱类型语言,个人感觉可以大多数情况可以不必在意数据类型。直接用就好。

有个大体思路,用SHOW COLUMNS FROM table_name 得到数据类型,定义一组php和mysql数据类型的对应关系,循环数据根据这个对应关系将数据依次转义,不知是否可行。

首先,我不会PHP

但是我强烈怀疑你的说法php操作mysql的时候, 取得的所有数据都是字符串

其次,MySQL的数据类型,是MySQL的一套的机制,PHP的数据类型,是PHP的一套机制,两者之间是独立的,但可以映射,然而可能不是所有的MySQL数据类型都能在PHP中找到匹配的类型。

php mysql 驱动默认都会把字段的值为string,所以在取出来之后需要自己去转。

现在的php框架中 orm 都是这么做的,根据字段类型做一次转化。

你是不是用了什么框架?用的orm取的数据?

自己再做一次格式化呗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题