Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434

    funzione per ottenere dati da mysql?

    Per fare una prova ho fatto questo codice:
    codice:
    <form action="prova.php" method="POST">
    <input name="username">
    <input type="password" name="password">
    <input type="submit" value="Login">
    </form>
    e questo è prova.php:
    Codice PHP:
    <?php
    $conn
    =mysql_connect('localhost','root','martyedariouxs') or die ("connessione sbagliata");
    $db=mysql_select_db('utenti',$conn);
    $query="SELECT Username, Password FROM utenti_registrati WHERE Username='" $_POST['username'] . "'";
    $equery=mysql_query($query);
    if (
    mysql_num_rows($equery)>0
    $array=mysql_fetch_row($equery);
    foreach (
    $array as $k => $v)
    {
    print (
    $v ",");
    }
    ?>
    però, utilizzando sia fetch_row che fetch_array non riesco ad ottenere più di un record nell'array, anche se ce ne sono più di uno con lo stesso username, qualcuno conosce una funzione adatta?

  2. #2

  3. #3
    Non sono molto pratico però provo a darti una mano... innanzi tutto prova fargli stampare in prova.php prima della sql query

    $_POST['username']

    In modo che tu possa capire se il parametro che effettivamente gli passi sia corretto.
    Ho sempre visto passare prova.php?nome_utente=... e sinceramente questo metodo essendo un novizio non l'ho mai usato.

    Per quanto riguarda invece la query in se utilizza il fetch_array così:

    Codice PHP:
    <?php 
    $conn
    =mysql_connect('localhost','root','martyedariouxs') or die ("connessione sbagliata"); 
    $db=mysql_select_db('utenti',$conn); 
    $query="SELECT Username, Password FROM utenti_registrati WHERE Username='" $_POST['username'] . "'"
     

    while (
    $equery mysql_fetch_array){
    $tot count($equery);   
    print 
    "Totale risultati ottenuti".$tot;
    print 
    "

    "
    ;
    print 
    "Username :".$equery['Username']." - Password :".$equery['Password'];   
    }
     
    ?>
    ...il passato lo rimpiange chi non ha futuro...
    Lega LFA | Alessio Corse | a2area

  4. #4
    Non sono molto pratico però provo a darti una mano.
    Hai provato il codice che hai postato?

    Contiene degli errori logici basilari.

  5. #5
    @dararag
    Quello che hai scritto va quasi bene
    Codice PHP:
    <?php
    $conn
    =mysql_connect('localhost','root','martyedariouxs') or die ("connessione sbagliata");
    $db=mysql_select_db('utenti',$conn);
    $query="SELECT Username, Password FROM utenti_registrati WHERE Username='" $_POST['username'] . "'";
    $equery=mysql_query($query);
    #correggi da qui in poi
    if (mysql_num_rows($equery)>0)
    {
        echo 
    "per ottenere il totale si usa questa funzione : ".mysql_num_rows($equery)."
    "
    ;
        while(
    $rs mysql_fetch_array($equery))
        {
           print 
    "Username :".$rs['Username']." - Password :".$rs['Password']."
    "
    ;
        }
    }    

    ?>
    @lnx

    ci sono grossi errori nel codice che hai scritto:
    1) hai scordato di chiamare mysql_query, in quanto questa funzione effettua la query; senza di questa mysql_fetch_array, mysql_num_rows e mysql_fetch_row danno errore di puntatore non valido
    2) errore di logica: in quanto $tot = count($equery); non conta le righe della query ma soltanto gli elementi inseriti effettivamente nell'array (in questo caso 4; 2 associativi e 2 numerici visto che non hai dichiarato il tipo nel fetch_array) ma si usa mysql_num_rows (per il conteggio dei record della select) e mysql_num_fields(per il conteggio dei campi)

    3) errore di xhtml =>
    è sbagliato si deve usare


    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  6. #6
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    Mi devo essere spiegato male,io ho una tabelle con questi record:
    Username Password
    hackerslord 123456
    hackertech 123456789
    hackerslord 123456789123
    anche usando foreach e while dopo aver richiesto tutti i record che hanno come username hackerslord, nell'array viene trovato sempre e solo il primo, il terzo non lo vede mai, perchè?

  7. #7
    Posta il codice che hai usato (che suppongo sia diverso da quello del primo post).

  8. #8
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    veramente è uguale, solo che ho provato anche con while

  9. #9
    Il problema di quel codice e' che mysql_fetch_row() viene eseguita solo una volta (visto che non sta all'interno di nessun ciclo), e quindi dara' sempre una sola riga.

  10. #10
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    e fetch array?

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.