Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49

    Problemi con Prepared Statement

    Ciao a tutti, ho un problemino con l'uso di un Prepared Statement. In sostanza ottengo sempre questo genere di errore:

    Warning: mysqli_stmt_bind_param(): Number of variables doesn't match number of parameters in prepared statement in C:\xampp\htdocs\supportoLogin.php on line 58

    Warning: mysqli_stmt_bind_param(): Number of variables doesn't match number of parameters in prepared statement in C:\xampp\htdocs\supportoLogin.php on line 59

    Purtroppo non riesco a capire dove sbaglio. Potreste darmi una mano? Vi posto il codice qui di seguito:

    Codice PHP:
    if(isset($_REQUEST["nick"]) && $_REQUEST["nick"]!=""){
            if(isset(
    $_REQUEST["pwd"]) && $_REQUEST["pwd"]!=""){
                
    $nick $_REQUEST["nick"];
                
    $pwd $_REQUEST["pwd"];
                
                
    $stmt mysqli_stmt_init($conn);
                
    $query "SELECT nome FROM usr WHERE nick=? AND pwd=?";
                if (
    mysqli_stmt_prepare($stmt,$query)){
                    
    mysqli_stmt_bind_param($stmt,"s",$nick);
                    
    mysqli_stmt_bind_param($stmt,"s",$pwd);
                    
    mysqli_stmt_execute($stmt);
                    
    mysqli_stmt_bind_result($stmt,$nome);
                    
    mysqli_stmt_fetch($stmt);
                }
                
                if(
    $nome!="") {
                    
    $_SESSION["ID"] = $nome;
                    
    $_SESSION["NICK"] = $nick;
                    
    header('Location: /auth.php');
                } else {
                    echo 
    "<p class='errLogin'>Errore nel LOGIN! Username e Password errati.";
                }
            } else {
                echo 
    "<p class='errLogin'>Errore nel LOGIN! Il campo \"Password\" &egrave; vuoto.";
            }
        } else {
            echo 
    "<p class='errLogin'>Errore nel LOGIN! Il campo \"Username\" &egrave; vuoto.";
        } 
    Grazie a tutti

  2. #2
    Non devi invocare 2 volte la funzione mysqli_stmt_bind_param() ma una sola volta con tutti i parametri da settare.
    Ti sarebbe bastata semplicemente un'occhiata al manuale mysqli_stmt_bind_param() per capirlo!

    Codice PHP:
    ...
    $stmt mysqli_prepare($link"INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
    mysqli_stmt_bind_param($stmt'sssd'$code$language$official$percent);
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    49
    Perfetto adesso va. Ti ringrazio per l'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.