如何获得正确的变量来让正确的用户登录?

How to get the right variable to get the right user logged in?

我正在尝试为我的大学网站创建一个 PHP 登录名,我希望用户使用他们的用户名登录。

我正在使用准备好的语句在 mysqli 中尝试此查询,但它给出了参数数量超出等错误。它给出了正确的错误,我知道我在某处造成任何 issue/problem。

$user_roll = $_SESSION['roll'];
$stmt = $conn->prepare("
    SELECT roll, name, course, semester FROM students WHERE roll = ?
"); 
$stmt->bind_param('isssi',$roll,$name,$course,$semester,$user_roll);

您正在混合 ->bind_param() and bind_result()。你只需要->bind_param()中的第一个参数($user_roll),其他的将在你的->execute()之后的->bind_result()中使用,例如-

$user_roll = $_SESSION['roll'];
$stmt = $conn->prepare("SELECT roll, name, course, semester FROM students WHERE roll = ?"); 
$stmt->bind_param('i',$user_roll);
$stmt->execute();
$stmt->bind_result($roll,$name,$course,$semester);
while($stmt->fetch()){
    echo $roll."<br />";
    echo $name."<br />";
    echo $course."<br />";
    echo $semester;
}