Visualizzazione dei risultati da 1 a 6 su 6

Discussione: sintassi query mysql

  1. #1

    sintassi query mysql

    Ciao!

    Non mi è chiara la sintassi che devo usare per confrontare un dato estratto da mysql con un altro..

    ad esempio io vorrei confrontare la password inserita da un utente con la password inserita in una tabella del database..

    ottengo la pass dell'utente tramite form e la trasformo in variabile così

    codice:
    $pass_utente = $_POST['password'];
    eseguo la query

    codice:
    $query = "SELECT pass FROM admin";
    e ora non so come fare.. come ottengo da quella query una variabile pass da confrontare con quella ottenuta precedente da form?

    x intenderci

    codice:
    if ($_POST['password'] == che ci metto qua??
    {
    echo ecc ecc
    }
    ovviamente ho fatto tutto il procedimento precedente di connessione a mysql ecc..

    grazie e scusate se è una domanda stupida ma sono agli inizi..

  2. #2
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    allora allora... io direi di fare un ragionamento:
    tu hai un bd che contiene le password di alcuni utenti, giusto?
    e vorresti con un form che venissero controllate, esatto?

    io farei cosi:
    Codice PHP:
    $nome_utente $_POST['username'];
    $pass_utente $_POST['password'];

    //connessione al db ecc...

    $query"SELECT * FROM admin WHERE pass='".$pass_utente."'
               AND name='"
    .$nome_utente."'";

    $result mysql_query($query$db);   //esegui la query


    if(mysql_num_rows($result) != 1){     //se il numero di risultati della query è diverso da 1
         
    echo "Username o password errati
    "
    ;
    }else{    
    //se invece è uguale ad 1..
         
    echo "logged in!!";
    }; 
    ciao
    mag

  3. #3
    No capisco la parte riguardante il diverso da 1.. cioè nn sarebbe più semplice verificare che la pass immessa sia uguale a quella del database?

    anke perchè la pass che devo verificare è solo una, quella dell'admin, e non ci sono utente e pass per ogni utente..

    Ciao!

  4. #4
    Beh, lui carica i dati che hanno come nome e pass quelli imessi dall'utente. Se nel database non c'è una riga che contenga nick e pass come quelli inseriti non ti logga.

    Potresti fare anche così:
    codice:
    $Password = $_POST['password'];
    $MySql = "SELECT * FROM users WHERE Password='$Password'";
        $Result = mysql_query($MySql);
    	$rs = mysql_fetch_array($Result);
        $a1 = $rs['Nome'];
        $a2 = $rs['Password'];
        $rs->close;
    if ($a2 == $Password){
    echo ec ec ec
    }
    else {
    echo "non autorizzato";
    }
    Nemus Loren
    www.freephp.tk

  5. #5
    Utente di HTML.it L'avatar di maggy
    Registrato dal
    Jul 2005
    Messaggi
    194
    la pass che devo verificare è solo una, quella dell'admin
    mmm quindi sul db hai una tabella con un solo campo ed un solo reccord, cioe la password?!?
    bhe allora farei cosi (anche se nn so se questo metodo di una sola tabella con la password sia corretto... io farei in altro modo sinceramente...)

    codice:
    $pass_utente = $_POST['password'];
    
    //connessione al db ecc...
    
    $query= "SELECT * FROM admin WHERE pass='".$pass_utente."'";
    
    $result = mysql_query($query, $db);   //esegui la query
    
    if(mysql_num_rows($result) != 1){     //se il numero di risultati della query è diverso da 1
         echo "Username o password errati
    ";
    }else{    //se invece è uguale ad 1..
         echo "logged in!!";
    };
    ti spiego la cosa del "diverso da uno": allora tu fai una query sulla tebella che contiene la pssword, giusto? bhe l risultato, se la password inseitra risulta corretta, è un record. Se invece risulta non corretta la query non restituira nessun record, cioe 0 (zero) record, che è diverso da uno...

    ciao
    mag

  6. #6
    ah ok, ora ho capito.. si allora in effetti immagino convenga fare con il primo metodo che hai detto..

    ora proverò un pò le varie possibilità.. grazie e ciauz!

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.