mysqli_stmt::bind_result(): Nombre de lier les variables ne correspond au nombre de champs dans la requête préparée

Je suis en train d'essayer de coder un formulaire de connexion en PHP à l'aide d'une requête préparée, mais à chaque fois j'essaie de me connecter j'obtiens l'erreur suivante:

mysqli_stmt::bind_result(): Nombre de lier les variables ne correspond au nombre de champs dans la requête préparée

Voici mon code:

<?php
session_start();

$mysqli = new mysqli("localhost", "root" , "" , "security");
if(mysqli_connect_errno()){
    echo "Wrong" ;
}
if($stmt = $mysqli->prepare("SELECT username AND password FROM users WHERE username =? AND password =?")){
    $username = $_POST['name'];
    $password = $_POST['password'];
    $stmt->bind_param('ss' ,$username ,$password);
    $stmt->execute();
    $stmt->bind_result($password ,$username);
    if($stmt->fetch() == 'true')
    {
        echo "welcome";
    } else{
        echo "wrong password";
    }
}
?>

Quelqu'un peut me dire pourquoi ce qui se passe?

Vous êtes de liaison 3 params et dans votre requête, il y a seulement deux.
Habituellement, cela se passe, quand vous avez requête SELECT * et vous pouvez ajouter ou supprimer un champ dans la table. à l'aide de l'instruction alter table.

OriginalL'auteur user3114510 | 2013-12-18