【问题标题】:Datatype integer?数据类型整数?
【发布时间】:2014-01-17 10:11:43
【问题描述】:

这快把我逼疯了。由于某些奇怪的原因,pdo 的fetch style 参数的数据类型是integer?它不能是整数,它更像是一个没有引号的字符串。而且里面没有数字。当我尝试制作 pdo 函数库时,我发现了它,但这并不重要。看看这个:

echo gettype(PDO::FETCH_ASSOC); // returns 'integer'

这是怎么回事??

【问题讨论】:

  • 我认为您的查询有误,您得到false 或 0。您能向我们展示您之前的查询吗?
  • 不,问题不在于查询,而在于获取样式数据类型。
  • 文档说明它是一个整数 (php.net/manual/en/pdo.constants.php),PDO::FETCH_ASSOC 是一个标志。有关 PDO 常量及其值,请参阅 3v4l.org/i6SFv
  • 为什么要拒​​绝请解释这种不友好的行为。

标签: php types int


【解决方案1】:

所以你已经编辑了你的问题,这不是问题。 PDO::FETCH_ASSOC 是 PDO 类中的常量。

http://www.php.net/manual/en/pdo.constants.php

在这里你可以看到所有的常量,你可以看到PDO:FETCH_ASSOC 是一个整数。这只是您可以使用定义的值。

【讨论】:

  • 是的,但是这怎么可能是整数呢?它应该是其数据类型的标志或函数参数吗?
  • @aksu 你知道常量是什么吗?它是一个整数有什么问题?
  • @asku 我没有看到问题查看 PDO 类,在那里您可以看到顶部类中定义的所有常量。您可以在函数中写入整数值,但在大多数情况下,您不知道 2 例如用于 fetch assoc
  • 好的!!因此 pdo 将其转换为整数以匹配 fetch 样式!聪明!
【解决方案2】:

根据 PHP 文档,fetch_style 参数是 int 类型, 根据 PHP 文档

  fetch_style Controls how the next row will be returned to the caller. This value must be
 one of the PDO::FETCH_* constants, defaulting to value of PDO::ATTR_DEFAULT_FETCH_MODE 
(which defaults to PDO::FETCH_BOTH)

其中 PDO::FETCH_ASSOC 是一个值为 2 的常量。gettype 函数返回变量的类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2012-11-28
    • 2019-11-29
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多