我在使用php操作mysql的时候, 取得的所有数据都是字符串, 我现在想取得Mysql存储的数据的, 且与它在mysql中定义的类型是一致的, 能不能做到呢?
我在使用php操作mysql的时候, 取得的所有数据都是字符串, 我现在想取得Mysql存储的数据的, 且与它在mysql中定义的类型是一致的, 能不能做到呢?
<code class="php">//try $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);</code>
有个大体思路,用SHOW COLUMNS FROM table_name
得到数据类型,定义一组php和mysql数据类型的对应关系,循环数据根据这个对应关系将数据依次转义,不知是否可行。
首先,我不会PHP
但是我强烈怀疑你的说法php操作mysql的时候, 取得的所有数据都是字符串
。
其次,MySQL的数据类型,是MySQL的一套的机制,PHP的数据类型,是PHP的一套机制,两者之间是独立的,但可以映射,然而可能不是所有的MySQL数据类型都能在PHP中找到匹配的类型。
刚刚var_dump尝试了下,的确是都是string类型。
不过php本来就是弱类型语言,个人感觉可以大多数情况可以不必在意数据类型。直接用就好。
php mysql 驱动默认都会把字段的值为string
,所以在取出来之后需要自己去转。
现在的php框架中 orm
都是这么做的,根据字段类型做一次转化。
你是不是用了什么框架?用的orm取的数据?
自己再做一次格式化呗