Mysql Php problema

di il
5 risposte

Mysql Php problema

Salve ragazzi hho un problema nel creare un piccolo login con database , vi lascio il codice php
<?php


$username=$_POST['username'];
$password=$_POST['password'];
$password=md5($password);

if($username && $password){
    
    $connessione=mysql_connect('localhost','root','') or die("Impossibile connettersi");
    mysql_select_db('users',$connessione);
    $query="SELECT * FROM 'users'";
    echo $query;
    
    $risultato=mysql_query($query,$connessione);
    echo $risultato;
    $numero=mysql_num_rows($risultato);
    echo $numero;
   
    
}else{
    die("Prego inserire username e password per autentificarsi.");
}


?>
mi riporta questo errore
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in "percorso" on line 17

Il problema è che non mi fa visualizzare il numero colonne in poche parole mmh

5 Risposte

  • Re: Mysql Php problema

    Mysql_query() ritorna false (quindi un booleano) se la query non è stata eseguita correttamente.

    In particolare, nel tuo caso hai usato gli apici "dritti" ( ' ) invece che quelli "obliqui" ( ` ) intorno al nome della tabella, all'interno della query. Quindi sostituiscili o eliminali del tutto (gli apici obliqui servono a distinguere i nomi di attributi o tabelle da eventuali costrutti o variabili sql con lo stesso nome; dal momento che non usi variabili sql, e se non usi come nomi di tabella o attributo parole come where, from, ecc., puoi ometterli).

    ciao
  • Re: Mysql Php problema

    Ho provato ad eliminare le virgolette nella query ma il problema sussiste mmh
  • Re: Mysql Php problema

    Mysql_select_db('users',$connessione);

    Hai chiamato il db come la tabella o è sbagliato?
  • Re: Mysql Php problema

    dvaosta ha scritto:


    mysql_select_db('users',$connessione);

    Hai chiamato il db come la tabella o è sbagliato?
    ho risolto quel problema


    ora pero ho riscontrato un altro problema, se vado in phpadmin nel databave vedo per esempio la password in md5 72a86026abb289634ec64d7f3b544f , la password sarebbe 'paola' codificata, quando vado a fare la ricerca pero dal form e codifco tramite php la parola paola mi esce 72a86026abb289634ec64d7f3b544f0c che è diversa alla fine, aggiunge 2 caratteri mmh, quindi la query SELECT * FROM users WHERE Username='paola' AND Password='72a86026abb289634ec64d7f3b544f0c' mi va a non trovare l'utente paola, dove risiede l'inghippo?
  • Re: Mysql Php problema

    La lunghezza del campo del db dove memorizzi la password è sufficiente? Nelle fasi di registrazione e login usi la funzione trim, per togliere eventuali spazi all'inizio o alla fine della password (in realtà spazi aggiuntivi variano notevolmente l'hash, non aggiungono semplicemente due caratteri, per cui in questo caso l'errore non è dovuto a quello, ma comunque è buona norma usare trim)?
Devi accedere o registrarti per scrivere nel forum
5 risposte