Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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


"There's no point in being exact about something if you don't even know what you're talking about."

JOHN VON NEUMANN


Siamo italiani NO??
Allora scriviamo in ITALIANO!!!!
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


... sei un proxy che perde i pacchetti ...
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