Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Connessione e query da Database ErROR

    Buongiorno ragazzi, mi sto avventurando nei database e vorrei imparare a sfruttarli all'interno dei siti web...ho provato a fare il codice php per la connessione del database!
    Dopo aver creato il database ho messo nel sito il form di compilazione...Lo scopo è inserire l'id dell'utente e cm risultato dovrebbe darmi il Nome e Cognome corrispondente a quell'id

    La parte del form penso sia giusta


    <table width="450" border="0">
    <tr>

    <td width="220">
    <form action="SQL.php" method="post">
    <input type="text" name="var1"> // var1 è il parametro che passo nel php x il confronto


    <input type="submit" value="TEST!" />
    </form>
    </td>
    </tr>
    </table> // l'azione del form punta SQL.php che è il file in php che ho creato che m connette al database e m restituisce il risultato tramite query


    __________________________________________________ _____________

    Vi incollo qui sotto il codice php...Non capisco il perchè non funziona ( aiutatemi x favoreee

    <?

    $host="62.149.***.108";
    $nome="Sql310023";
    $password="****";
    $database="Sql310023_1";
    $tabella="utenti";

    $var1=$_POST['var1']; //recupero la variabile dal form
    if ($var1!=null) //controllo che nn sia nulla
    {
    $connessione=mysql_connect($host,$nome,$password);
    $query = mysql_query($database,"SELECT Nome, Cognome from ".$tabella." WHERE id_utente=".$var1."",$connessione); //La query m deve restituire nome e cognome corrispondente all'id inserito

    if ($query==FALSE) die("errore nella composizione della query"); mysql_close($connessione);
    while($row=mysql_fetch_array($query)){
    echo "nome: ".$row[Nome];
    echo "
    ";
    echo "cognome: ".$row[Cognome];
    }
    }
    ?>

    Cosa cè che non va?

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    bhe ho dato una rapida ochiata...

    prima di tutto

    $query = mysql_query($database,"SELECT Nome, Cognome from ".$tabella." WHERE id_utente=".$var1."",$connessione);


    qui noto che hai usato mysql_query.
    questa funzione prende con se un parametro e di certo non è $database.

    per ovviare a questo problema potresti usare
    mysql_db_query...

    ma prima di farlo ti consiglio di mettere un : or die ("errore .--->" .mysql_error());
    alla fine della tua $query.

    leggi l'errore che ti riporta e poi fai la modifica.

    anche questa funzione "mysql_db_query" non è consigliata -... o meglio sembrerebbe che si tenda ad usare $db = mysql_db_select(nomeDB); ma guarda meglio sulla guida php!

  3. #3
    <?

    $host="62.149.***.108";
    $nome="Sql310023";
    $password="****";
    $database="Sql310023_1";
    $tabella="utenti";

    $var1=$_POST['var1'];
    if ($var1!=null)
    {
    $connessione=mysql_connect($host,$nome,$password);
    $query = mysql_db_query($database,"SELECT Nome, Cognome from ".$tabella." WHERE id_utente=".$var1."",$connessione) or die ("errore .--->" .mysql_error());
    }
    if ($query==FALSE) die("errore nella composizione della query"); mysql_close($connessione);
    else
    {
    echo "nome: ".$Nome.;
    echo "
    ";
    echo "cognome: ".$Cognome.;
    }

    ?>


    Adesso mi da un errore alla linea dell"else" ma non capisco il perchè...

  4. #4
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    codice:
    if ($query==FALSE) die("errore nella composizione della query"); mysql_close($connessione);
    Questo è errato

    Devi scrivere
    codice:
    if ($query==FALSE) 
    {
    die("errore nella composizione della query"); 
    mysql_close($connessione);
    }
    
    ELSE
    {
    BLA BLA
    }
    In pratica devi mettere le parentesi graffe per un blocco dentro all IF

    In oltra secondo me per le query fai prima a fare cosi

    codice:
    $query = "SELECT blabla ";
    $dati = mysql_query($query) or die ("c'è un errore .... ");
    Secondo me è molto più semplice e leggibile
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  5. #5
    ok ora la query dovrebbe funzionare bene..come faccio a stampare il risultato a video? è giusta la funzione echo?

    il mio obiettivo è stampare a video Il Nome e il Cognome dell'utente che si è trovato inserendo l'id utente...

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    echo Stampa a video ...

    ma dipende dove sei come la fai etc...

    se vuoi stampare a video la scritta fai
    echo $variabile_da_stampare

  7. #7
    ho provato anche in quest'altro modo......... niente da fare


    <?

    $host="62.149.150.***";
    $nome="Sql310023";
    $password="7302c****";
    $database="Sql310023_1";
    $tabella="utenti";

    $var1=$_POST['var1'];
    if ($var1!=null)
    {
    $connessione=mysql_connect($host,$nome,$password);
    $sql= "SELECT Nome, Cognome FROM utenti WHERE id_utente="$var1"";
    $result = mysql_query($sql);
    $array = mysql_fetch_array($result);
    print "NOME: ".$array['Nome']."
    ";
    print "COGNOME: ".$array['Cognome'].;

    }
    ?>

  8. #8
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    E' probabile che ci siano degli errori in fase di estrazione dal DB devi gestirli in questo modo:

    codice:
    $var1=$_POST['var1'];
    
    if ($var1!=null)
    {
    $connessione=mysql_connect($host,$nome,$password);
    $sql= "SELECT Nome, Cognome FROM utenti WHERE id_utente="$var1"";
    $result = mysql_query($sql) or die(mysql_error()); 
    $array = mysql_fetch_array($result);
    echo "Nome : " . $array['Nome'] . "
    Cognome: " . $array['Cognome'];
    
    }
    Concateno le stringhe per risparmiare spazio :-)
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  9. #9
    ho un dubbio....nel nome dell'host cosa metto? ho uno spazio d'aruba

    devo mettere questo =http://mysql.aruba.it

    o questo = host : 62.149.150.108

  10. #10
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Sicuramente questo

    62.149.150.108


    dato che l'altro non è che il "posto" dove ARUBA dà l'accesso agli utenti registrati. Per dirla in modo molto semplice : l'host è sempre l'indirizzo IP oppure "localhost" se ti gira in locale in quanto "localhost" identifica proprio il tuo server locale.
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

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.