PHP PDO fetch返回数组?

PHP PDO fetch返回数组?,php,mysql,arrays,pdo,Php,Mysql,Arrays,Pdo,为什么它返回数组而不是字符串 var_dump(“$UserID”)表示 应该是 array 'UID' => string '45' (length=2) 0 => string '45' (length=2) 更新* 那0呢?它是从哪里来的?感谢您的回复。如果您只想获取列,则需要PDO语句的方法。您没有指定fetch\u style参数。默认情况下,它返回FETCH\u BOTH,这是一个数组。以下是选项以及如何指定它: 编辑:此外,它将始终返回一个数组,即使只有一列

为什么它返回数组而不是字符串

var_dump(“$UserID”)表示

应该是

array
  'UID' => string '45' (length=2)
  0 => string '45' (length=2)
更新*
那0呢?它是从哪里来的?感谢您的回复。

如果您只想获取列,则需要PDO语句的方法。

您没有指定
fetch\u style
参数。默认情况下,它返回
FETCH\u BOTH
,这是一个数组。以下是选项以及如何指定它:


编辑:此外,它将始终返回一个数组,即使只有一列,因为一行可以包含多个属性。您可以使用
FETCH\u ASSOC
然后指定您的列名来获取数据,或者,如果您只是像以前那样使用
FETCH()
,那么数组将通过列名和0索引的列号来索引。

结果集是逐行获取的,即使该行包含一个列

那么0呢?它从哪里来的。再次感谢。请尝试再次执行您的查询,除了说“从用户选择*”而不是“从用户选择UID”。结果(假设您的表中有两列)应该是这样的:数组'UID'=>string'45'(长度=2)0=>string'45'(长度=2)OtherData1=>string'12'(长度=3)1=>string'12'(长度=3),其中第三行和第四行是第二列(名称和值只是由我组成的)如果不是新手的问题,就不会出现堆栈溢出;)非常感谢你的回答,也感谢你的链接,现在我知道了更多的选项,可以在必要时应用
array
  'UID' => string '45' (length=2)
  0 => string '45' (length=2)
array
  'UID' => string '45' (length=2)