Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Problema php - mysql semplice (credo [spero])...
Forum - PHP - Problema php - mysql semplice (credo [spero])...

Avatar
genuzzu (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 15:48
Sabato, 10/10/2009
Salve a tutti, ho un problema (come se non si fosse già capito). Avrei bisogno di fare una ricerca e visualizzare un risultato (1).
Il codice che uso è questo:

Codice sorgente - presumibilmente PHP

  1. <?php
  2. $db_host = "localhost";
  3. $db_user = "genuzzu";
  4. $db_password = "che-ti-frega?";
  5. $db_database = "my_genuzzu";
  6. $connessione=mysql_connect($db_host,$db_user,$db_password);
  7. $ris=mysql_query("SELECT TESTO FROM WIKI WHERE NOME= $_GET[ricerca]");
  8. echo "<strong><b> $_GET[Ricerca] </b></strong>";
  9. echo "<br>";
  10. if (mysql_num_rows($ris) == 0) {
  11.     echo "La voce non esiste.";
  12.     exit;
  13. }
  14. echo "$ris"
  15. ?>
  16.  
  17. //Purtroppo non visualizzo mai $ris (sembra vuota).
  18. //$_GET[ricerca] funziona (è una variabile passata da un form).
  19. //Mi aiutate?


PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:57
Sabato, 10/10/2009
non sono ferratissimo in php visto che non lo uso da tempo però mi è saltato all'occhio questo:

Codice sorgente - presumibilmente PHP

  1. $ris=mysql_query("SELECT TESTO from WIKI WHERE NOME= $_GET[ricerca]");


non va bene perché non concateni alla query il valore della $_GET ma la stringa $_GET

difatti il testo della query sarà:
"SELECT TESTO from WIKI WHERE NOME= $_GET[ricerca]" che è una stringa completa.
Invece dovresti fare:

Codice sorgente - presumibilmente PHP

  1. $ris=mysql_query("SELECT TESTO from WIKI WHERE NOME= "
  2.  . $_GET[ricerca]);






Ultima modifica effettuata da lorenzo il 10/10/2009 alle 18:58
PM Quote
Avatar
genuzzu (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 19:19
Sabato, 10/10/2009
Testo quotato

Postato originariamente da lorenzo:

non sono ferratissimo in php visto che non lo uso da tempo però mi è saltato all'occhio questo:

Codice sorgente - presumibilmente PHP

  1. $ris=mysql_query("SELECT TESTO from WIKI WHERE NOME= $_GET[ricerca]");


non va bene perché non concateni alla query il valore della $_GET ma la stringa $_GET

difatti il testo della query sarà:
"SELECT TESTO from WIKI WHERE NOME= $_GET[ricerca]" che è una stringa completa.
Invece dovresti fare:

Codice sorgente - presumibilmente PHP

  1. $ris=mysql_query("SELECT TESTO from WIKI WHERE NOME= "
  2.  . $_GET[ricerca]);








Non và neanche così! La pagina è http://genuzzu.altervista.org/cerca.php?Ricerca=Tromba
(ho creato nel database un record dove NOME è Tromba, e testo è Tromba.

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 21:19
Sabato, 10/10/2009
ciao!!
se non sbaglio dopo esserti connesso all'host, dovresti selezionare il database con l'istruzione
Codice sorgente - presumibilmente Plain Text

  1. $mysql_select = mysql_select_db($db_name);



dove la variabile $db_name è il nome del database.

Ciaociao

PM Quote
Avatar
genuzzu (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 18:50
Domenica, 11/10/2009
Testo quotato

Postato originariamente da tasx:

ciao!!
se non sbaglio dopo esserti connesso all'host, dovresti selezionare il database con l'istruzione
Codice sorgente - presumibilmente Plain Text

  1. $mysql_select = mysql_select_db($db_name);



dove la variabile $db_name è il nome del database.

Ciaociao



Grazie, ora funziona.

PM Quote