数组正在返回" array()"

时间:2017-05-05 11:30:17

标签: php arrays database pdo username

所以,我有这个数组:

$id = DB::query('SELECT user_id FROM login_tokens WHERE token=:token', 
array(':token' => sha1($_COOKIE['SNID'])));
$myusername = DB::query('SELECT username FROM users WHERE id=:id', array(':id' 
=> $id));

print_r($myusername);

但它只返回array()

1 个答案:

答案 0 :(得分:1)

PDO::query的返回值是PDOStatement个对象。通常,您不会看到print_r

如果您想要结果,那么PDOStatement有三种方法可以完成这项工作:

  • ->fetchAll()将获取所有数据作为数组数组
  • ->fetch()会将当前行作为数组提取,然后指向下一行,如果没有更新,则返回null。
  • ` - > fetchColumn([n])将获取当前行的单个列(默认为0),然后指向下一行(如果有)。

在您的情况下,您可以使用DB::query(…)->fetchColumn()完成工作。