2017-04-07 149 views
-1

一个简单的问题,为什么PHP返回的字符串,而不是INT

为什么PHP fetch()变换INTSTRING

例子:

  • 数据库结构:is_active int(11)
  • PHP获取:'is_active' => string '1' (length=1)
+0

不是重复的,我的问题是为什么?没有在这篇文章中回答 – Azee

+0

是的,它的答案在这里:http://stackoverflow.com/a/5323169/916000 –

+0

真正的答案'为什么'可能隐藏在MySQL插件开发的深处。也许是一个疏忽,也许是一个永远不会修复的捷径。这种行为很可能没有意图。 – glaux

回答

0

在我看来,它是牺牲部分性能和可访问性。

简而言之,如果mysql只使用一种类型(字符串)数据,容器可能有一种类型的元组,并且不需要复杂的数据结构。

  1. 各种数据库有各种各样的数据类型。

例如,int是简单的数据类型。但有int32,int64,unsigned int和每个数据库都有自己的数据类型,php可以简化它的类型。即。我们不能简单地说varchar2可以用字符串转换,因为有text,varchar,varchar2,string。

  • 初学者容易
  • 在我看来,PHP的优点是,它很容易初学者使用。 如果PHP从数据库中获取类型。这将有对象,如 DBResult { 枚举数据类型, 对象数据集 }

    似乎复杂,增加代码的大小。

  • Flexablity:实际上,它可以处理一切
  • String可以包含每数据类型除了二进制(BLOB)格式。!

    谢谢。

    相关问题