Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75

    [php] Select sempre vera, non trovo l'errore...

    Ciao a tutti, non riesco proprio a capire cosa sto sbagliando, il codice di per sč č molto semplice...
    codice:
    <?php
    
    	
    
    	if(!empty($_POST['username']) && !empty($_POST['password']))
    	{
    
    	    $username = $_POST['username'];
    	    $psw = md5($_POST['password']);
    		
       	    include ("connessione_db.php");    	
    
    	    $db = mysql_connect($host, $user_db, $psw_db) or die ("Impossibile connettersi al server $host " . mysql_error());
    	    
                mysql_select_db($nome_db, $db) or die ("Impossibile connettersi al database $nome_db");
    
    	    $query = "SELECT * FROM studenti WHERE username = '$username' AND psw = '$psw'";	
    	    $result = mysql_query($query);
    
    	    if($result)
    		echo "trovato";
    	} 
    
    ?>
    In sostanza qualunque user e psw io dia mi trovo sempre scritto trovato, ovvero $result non č mai falso.
    Come č possibile? Non capisco proprio dove sto sbagliando....

  2. #2
    Sezione sbagliata..

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75
    Ops, scusate ... gentilmente potete spostarla nella sezioni php?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Spostato.


    Ciao.
    "Perchč spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5

    Re: [php] Select sempre vera, non trovo l'errore...

    Originariamente inviato da slang6
    Ciao a tutti, non riesco proprio a capire cosa sto sbagliando, il codice di per sč č molto semplice...
    codice:
    	    $result = mysql_query($query);
    
    	    if($result)
    		echo "trovato";
    	} 
    
    ?>
    In sostanza qualunque user e psw io dia mi trovo sempre scritto trovato, ovvero $result non č mai falso.
    Come č possibile? Non capisco proprio dove sto sbagliando....
    Semplice. $result e' sempre TRUE se non ci sono errori di query perche' rende il resource id# e non il numero delle righe trovate. Zero result set non e' un errore di query, ma un result set vuoto di una query valida.

    codice:
    	    $result = mysql_query($query);
    
    	    if(mysql_num_rows($result) == 1)
    		echo "trovato";
    	}

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

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    75
    Grazie mille, non avevo capito bene come funziona il result set.

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.