PDO 将 id 号回显到 SESSION 中

PDO echo id number into SESSION

这是我用来登录用户的代码,我想获取用户的 ID 号并将其回显到 $_SESSION['Teacher'] 以供稍后使用,我认为你可以做到使用 $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'] 的赋值应该起作用。