Implementing Privileges in a PHP Login Script - Getting error when trying to bind a new variable : <p>Can Anyone help me? I'm trying to implement privileges in a PHP login script that I found. I'm getting the following error when trying to bind the new variable <strong>$param_user_privilege</strong>: </p>

<blockquote>
  <p>Warning: mysqli_stmt_bind_param(): Number of variables doesn't match
  number of parameters in prepared statement</p>
</blockquote>

<p>This is the script: </p>

<pre><code>&lt;?php
// Include config file
require_once 'conf/config.php';

// Define variables and initialize with empty values
$username = $password = "";
$username_err = $password_err = "";
$user_privilege = "";

// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){

    // Check if username is empty
    if(empty(trim($_POST["username"]))){
        $username_err = 'Please enter username.';
    } else{
        $username = trim($_POST["username"]);
    }

    // Check if password is empty
    if(empty(trim($_POST['password']))){
        $password_err = 'Please enter your password.';
    } else{
        $password = trim($_POST['password']);
    }

    // Validate credentials
    if(empty($username_err) &amp;&amp; empty($password_err)){
        // Prepare a select statement
        $sql = "SELECT username, password, user_privilege FROM users WHERE username = ? ";

        if($stmt = mysqli_prepare($link, $sql)){
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_user_privilege);

            // Set parameters
            $param_username = $username;
            $param_user_privilege = $user_privilege;
            //$param_user_status = $user_status;

            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt)){
                // Store result
                mysqli_stmt_store_result($stmt);

                // Check if username exists, if yes then verify password
                if(mysqli_stmt_num_rows($stmt) == 1){                    
                    // Bind result variables
                    mysqli_stmt_bind_result($stmt, $username, $hashed_password);
                    if(mysqli_stmt_fetch($stmt)){
                        if(password_verify($password, $hashed_password)){
                            /* Password is correct, so start a new session and
                            save the username to the session */
                            session_start();
                            $_SESSION['username'] = $username;
                            $_SESSION['privilege'] = $user_privilege;

                            if($user_privilege = 'Admin') {
                                header("location: dashboard.php");
                            } else {
                                header("location: home.php");
                            }

                            //header("location: home.php");
                        } else{
                            // Display an error message if password is not valid
                            $password_err = 'The password you entered was not valid.';
                        }
                    }
                } else{
                    // Display an error message if username doesn't exist
                    $username_err = 'No account found with that username.';
                }
            } else{
                echo "Oops! Something went wrong. Please try again later.";
            }
        }

        // Close statement
        mysqli_stmt_close($stmt);
    }

    // Close connection
    mysqli_close($link);
}
?&gt;
</code></pre>

<p>I will appreciate any help.</p>
