$GetUid = $dbConnect->prepare("SELECT UID FROM users WHERE username = :username");
$GetUid->execute($RegisterData3);
$UserID = $GetUid->fetch();
为什么它返回的数组不是字符串?
var_dump('$ UserID')说
array
'UID' => string '45' (length=2)
0 => string '45' (length=2)
应该是
array
'UID' => string '45' (length=2)
更新* 0怎么样?它来自哪里?谢谢你的回复。
答案 0 :(得分:13)
您没有指定fetch_style
参数。它默认返回FETCH_BOTH
,这是一个数组。以下是选项以及如何指定它:
http://php.net/manual/en/pdostatement.fetch.php
编辑:此外,它总是返回一个数组,即使只有一列,因为一行可以包含多个属性。您可以使用FETCH_ASSOC
然后指定列名来获取数据,或者,如果您只是像使用fetch()
一样,则数组由列名和0索引列号索引
答案 1 :(得分:2)
如果您只想获得该列,则需要PDOStatement的fetchColumn()方法。
答案 2 :(得分:2)
逐行获取结果集,即使该行包含单个列
也是如此