Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    query che non funziona (?)

    ciao a tutti, ho un piccolo problema che non riesco a risolvere. allora...
    in un file di log in mi da un errore, dove dice che i dati non sono presenti nel database, quando invece nel database i dati ci sono! x spiegarmi meglio vi posto il codice

    Codice PHP:
     $sql="SELECT * from utenti_reg where (password='$password' and userid='$userid') ";
    if (!(
    $result=mysql_query($sql,$conn)))
    {
    echo 
    scrivirosso("ATTENZIONE: errore nella query di lettura dei dati.\n

    "
    );
    $errore=1;
    }
    if(
    $errore==0)
    {
    while (
    $data=mysql_fetch_object($result)) // ciclo di lettura dei record (riga di dati)
        
    {
        
    $oldpassword=$data->password;
        
    $olduserid=$data->userid;
        
    $oldnome=$data->nome;
        
    $oldcognome=$data->cognome;
        }
        if(
    $errore==0)
        {
            if(
    mysql_num_rows($result)<1)
            {
            echo 
    scrivirosso ("[b]I dati richiesti non sono presenti nel Data Base: DEVI PRIMA REGISTRARTI[/b]

    "
    );
            echo 
    "

    [b]<a href=\"index.htm\">Home</a>[/b]

    "
    ;
            EXIT;
            }
            else
            {
            echo 
    scrivimarrone("[b]$oldnome $oldcognome, [/b]");
            echo 
    scriviblu("[b]sei un visitatore registrato: benvenuto.[/b]

    "
    );
            }
        }

    secondo voi dove sta l'errore??? grazie per l'aiuto!

  2. #2
    $sql="SELECT * from utenti_reg where (password='$password' and userid='$userid') ";

    prova cosi:

    $sql="SELECT * from utenti_reg WHERE password = '$password' and userid = '$userid'";
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    nulla...

    ancora niente. mi dice sempre che i dati richiesti non sono presenti nel database...

  4. #4
    Codice PHP:
    if($errore==0

    while (
    $data=mysql_fetch_object($result)) // ciclo di lettura dei record (riga di dati) 
        

        
    $oldpassword=$data->password
        
    $olduserid=$data->userid
        
    $oldnome=$data->nome
        
    $oldcognome=$data->cognome
        } 
        if(
    $errore==0
        { 
    Se errore == 0 (TRUE) nel primo if lo sara' pure nel secondo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    neanche...

    mettendo if($errore==1)
    mi fa accedere anche inserendo dati non registrati nel db

  6. #6
    viva pieroooo
    Questa volta, più che un voto.. è favoreggiamento.

  7. #7

    Re: neanche...

    Originariamente inviato da Gina
    mettendo if($errore==1)
    mi fa accedere anche inserendo dati non registrati nel db
    non e' corretto l'approccio che fai.

    se metti una if dove la cosa == 0 sara' impossibile trovare in una if annidata la stessa cosa == 1.

    Imposterei pure diversamente lo script... esempio:

    Codice PHP:
    $sql "SELECT * from utenti_reg where password = '$password' and userid='$userid' ";

    if(!
    $result mysql_query($sql$conn) ) 
    {
    echo 
    scrivirosso("ATTENZIONE: errore nella query di lettura dei dati.\n

    "
    );
    DIE (
    mysql_error()); // per solo debug
    }

    if(
    mysql_num_rows($result) == 1)
    {
        
    $data mysql_fetch_object($result);

        
    $oldpassword $data->password;
        
    $olduserid $data->userid;
        
    $oldnome $data->nome;
        
    $oldcognome $data->cognome;

        echo 
    scrivimarrone("[b]$oldnome $oldcognome, [/b]");
        echo 
    scriviblu("[b]sei un visitatore registrato: benvenuto.[/b]

    "
    );
        }
            else
            {
            echo 
    scrivirosso ("[b]I dati richiesti non sono presenti nel Data Base: DEVI PRIMA REGISTRARTI[/b]

    "
    );
            echo 
    "

    [b]<a href=\"index.htm\">Home</a>[/b]

    "
    ;
            EXIT;
            } 
    possono esserci errori perche' l'ho scritto qui e questa finestra non e' il massimo degli editor.

    prova... ed eventualmente stampa la query per verificare se i dati che passi sono corretti.

    echo $sql;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.