PDO将id号回显到SESSION中


PDO echo id number into SESSION

这是我用来登录用户的代码,我想获得用户的id号,并将其回声到$_SESSION['Eacher']中以供以后使用,我想你可以使用$row['id']来完成,但似乎不是。。任何帮助都将不胜感激。

public function verifyLogin($username, $password){
    // this function checks whether the user name exists and if its a match
    if(!empty($username) && !empty($password)){
        $st = $this->db->prepare("SELECT * FROM teachers WHERE username=? AND password=?");
        $st->bindParam(1, $username);
        $st->bindParam(2, $password);
        $st->execute();
        if ($st->rowCount() == 1){
            session_start();
            $_SESSION['Teacher'] = $row['id'];
            header("Location: dashboard.php");
        } else {
            header("Location: login.php?incorrect");
        }
    } 
}

$row未在任何位置设置。您必须调用$st->fetch()来获取第一行,然后对$_SESSION['Teacher']的赋值就可以工作了。