Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110

    Prelevare dati dal database

    Ciao a tutti, sto provando a prelevare da un database alcuni dati...ma ho un problema come mai la stessa query una volta funziona e una no??

    il codice è questo

    codice:
       $risultato6=@mysql_query("SELECT id FROM utenti WHERE nome = '$nome1'");
             $risultato1= @mysql_query("SELECT nome FROM utenti WHERE password = '$passw'");
             $risultato2=mysql_fetch_array($risultato1);
             $aid=mysql_fetch_array($risultato6);
    se faccio lo stamp di $risultato2 il risultato è esatto, mentre per $aid mi restituisce "Array"
    mi sembra strano perchè la query è identica

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    La funzione PHP mysql_fetch_array ti restituisce sempre un array solo che nel primo caso probabilmente ti restituisce più righe mentre nel secondo una solo riga.

    Per stampare il risultato puoi usare:

    codice:
    while ($row=mysql_fetch_array($risultato6))
    {
        echo $row["id"];
    }
    
    while ($row=mysql_fetch_array($risultato1))
    {
        echo $row["nome"];
    }
    Comunque se mi spieghi nel complesso il problema che vuoi risolvere ti posso dare qualche consiglio.
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    i due risultati dovrebbero essere identici, perchè sia id che nome sono valori unici(id è primary key e nome è unique)

    il punto è molto semplice, io ho costruito il database della mia pagina, ho diviso in utenti e messaggi, ora ho sviluppato il codice per far inserire i messaggi agli utenti, ma vorrei tener traccia di chi inserisce il messaggio quindi ad ogni query vorrei che nella tabella dei messaggi fosse inserito, id del messaggio (che si autoimplementa) il testo del messaggio (inserito dall'utente) id dell'utente che ha inviato il messaggio (preso dalla tabella utenti)

    per i primi due campi non ho problemi, ma non riuscendo a recuperare l'id associato al nome, mi risulta che tutti i messaggi hanno come idautore 0 che non corrisponde a nessun utente.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    ma tu fai where sulla password, credo che sia qui il problema a meno che non mi sfugge qualcosa

    codice:
     WHERE password = '$passw'"
    Ps: Se esporti uno script del db tramite phpMyAdmin provo io
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    Originariamente inviato da Enkh
    ma tu fai where sulla password, credo che sia qui il problema a meno che non mi sfugge qualcosa

    codice:
     WHERE password = '$passw'"
    Ps: Se esporti uno script del db tramite phpMyAdmin provo io
    questo script funziona :-)

    il problema è questo

    codice:
    $risultato6=@mysql_query("SELECT id FROM utenti WHERE nome = '$nome1'");
    cmq come si esporta lo script del db tramite phpmyadmin?

    P.S. giusto per la cronaco se eseguo il codice sql su phpmyadmin funziona

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    Perdonami non capisco il senso perchè pirma estrai l'id utente dalla tabella utenti tramite il campo nome (che come dici tu è univoco) e poi estrai il nome sempre dalla tabella utente però cercandolo in base alla password??

    Sii paziente, perdi 10 minuti e spiegami il problema nella maniera più schematica possibile così riesco ad aiutarti.
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    Ok...forse il codice che ho scritto è un pò confusionario, ad ogni modo

    io inserisco nome utente e password, quindi controllo se a quel nome corrisponde quella password, se è così vado avanti e visualizzo tutti i messaggi del database, altrimenti visualizzo un messaggio d'errore. A fine pagina c'è un form per inserire un nuovo messaggio. Il form per il messaggio è questo:

    codice:
    <form action="inserisci.php" method="post">
                 <textarea name="mextext" width="550" height="350">inserisci il tuo messaggio </textarea>;
                 <input type="hidden" name="nome" value="<?php echo $nome1 ?>">
                 <input type="hidden" name="pass" value="<?php echo $passw ?>">
                 <input type="submit" value="inserisci" />;
                 </form>;
    per avere la permanenza dei dati ho usato le variabili nascoste, a questo punto arrivo alla pagina inserisci e cerco di prelevare l'id dell'utente e inserirlo nella tabella messaggi insieme al testo del messaggio per farlo uso la query:

    codice:
    $nuovomex=@mysql_query("INSERT INTO messaggi(testomex,autorid) VALUES('$testomex','$aid')");
    dove la variabile testomex viene presa dal form, mentre aid dovrebbe essere il risultato dell'estrazione dal database, ma mi restituisce sempre 0

    spero di essere stato più chiaro.

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.