Aucune donnée fournie pour les paramètres dans l'instruction préparée MySQLi PHP

J'ai été en train de retravailler mon site non protégé requêtes mysql pour mysqli déclarations préparées à l'avance et tout s'est bien passé jusqu'à ce que j'ai obtenu ceci: Aucune donnée fournie pour les paramètres dans la requête préparée.

J'ai fait des recherches sans succès et je demande à l'insu de trucs de cette communauté pour m'aider.

if(empty($err)) {
    $pSETQuery  = NULL;
    if(!empty($_POST['password'])) {
        $pSETQuery .= ", password = ?";
    }
    if($session->isSuperuser()) {
        $pSETQuery .= ", usertype = ?";
    }
    if(!($stmt = $database->prepare("UPDATE user SET username = ?, email = ? $pSETQuery WHERE UserId = ?"))) {
        $err[] = "PREPARE FAILED.";
    }
    $stmt->bind_param("s", $_POST['username']);
    $stmt->bind_param("s", $_POST['email']);
    if(!empty($_POST['password'])) {
        $stmt->bind_param("s", $_POST['password']);
    }
    if($session->isSuperuser()) {
        $stmt->bind_param("s", $_POST['usertype']);
    }
    $stmt->bind_param("i", $_POST['userid']);
    if(!$stmt->execute()){
        $err[] = "Execute failed. ERROR: " . $stmt->error;
    }

}

Ce qui concerne,
Harry

Toute aide serait appréciée, dans le besoin d'une réponse rapide, les acceptons, si elle en vaut la peine.

OriginalL'auteur PwnageAtPwn | 2012-09-28