我会在会话中保存每个用户的id,以便在我的登录系统中获取以后的名称....我会在每次登录时都这样做。
但问题是:如果我用sql选择更多列我无法获取单个列
我怎样才能获取一列甚至很难在sql中选择更多列。
我尝试过类似的东西:
$sth->fetch(PDO::FETCH_ASSOC)['password']
但它并没有影响我的代码:
$sth = $X['dbh']->prepare("SELECT `password` `id` FROM `users` WHERE `uid` = :uid; "); if (! $sth->execute(array( ':uid' => $X['param']['uid'], ))) { //check for right name, passwort ... }
答案 0 :(得分:1)
我怎样才能获取一列甚至很难我在sql中选择了更多的列。
Nohow。
只选择一列,或者获取所有选择的列。否则选择就没有意义。
获取数组后,您可以正确访问其成员。
$user = $sth->fetch(PDO::FETCH_ASSOC);
$pass = $user['password'];
然后在代码中您也可以使用$user['id']
。