$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怎么样?它来自哪里?谢谢你的回复.
最佳答案
您没有指定fetch_style参数.它默认返回FETCH_BOTH,这是一个数组.以下是选项以及如何指定它:
http://php.net/manual/en/pdostatement.fetch.php
http://php.net/manual/en/pdostatement.fetch.php
编辑:此外,它将始终返回一个数组,即使只有一列,因为一行可以包含多个属性.您可以使用FETCH_ASSOC然后指定列名来获取数据,或者,如果您像使用fetch()一样,则数组将由列名和0索引列号索引.