+ Rispondi alla Discussione
Risultati da 1 a 4 di 4

Query ignora operatore Like

Ultimo Messaggio di tecnopiu il:
  1. #1
    User Newbie
    Data Registrazione
    Dec 2008
    Messaggi
    2

    Query ignora operatore Like

    Ciao a tutti,
    da non molto lavoro con php e mysql
    Mi sto cimentando per la prima volta nella creazione di un forum molto semplice per un sito web.

    Mi trovavo a voler inserire una "ricerca" per l'utente sui titoli, e successivamente sui contenuti di ogni thead, ma al momento della richiesta pare che all'esecuzion della Query, Mysql ignori l'attributo LIKE.

    Vi posto la query:

    Codice:
    $RicercaTitolo = @mysql_query("SELECT * FROM forum_lite_topics WHERE titolo LIKE '%$_POST[Ricerca]%' ");
    Ovvimanete $_POST[Ricerca] è il parametro di testo inserito dall'utente in un form di una pagina precedente.

    Ho controllato e il testo di $_POST[Ricerca] è corretto, infatti se lo stampo a video, mi appare il testo perfetto, ma nell'elencazione dei Thead su cui ho fatto ricerca, viene ignorato il parametro, infatti mi inserisce anche thead che nel testo non contengono la sequenza alfanumerica che nella ricerca dovrebbe fare da "filtro".

    Se qualcuno potesse aiutarmi.
    Grazie mille, e a Presto!

  2. #2
    Moderatore L'avatar di Shad
    Data Registrazione
    Jun 2007
    Località
    Napoli
    Messaggi
    463
    Ciao,
    io nella tua query non ci vedo nulla di sbagliato.
    Prova a fare queste due prove ma considera che sto andando "ad occhio".
    1) Fai la query forzando il parametro. Se hai scelto di ricercare %ciao% togli la variabile e passagliela tu direttamente. Fatto questo controlla se i risultati sono corretti. Se sì allora quasi sicuramente il problema è quello del punto 2.
    2) Potrebbe non essere un problema di MySql ma di Php. Prova ad usare questa riga (sostanzialmente uguale alla tua):
    Codice:
     
    $RicercaTitolo = @mysql_query("SELECT * FROM forum_lite_topics WHERE titolo LIKE '" . %$_POST[Ricerca]% . "' ");
    In bocca al lupo
    Shad

  3. #3
    Esperto L'avatar di filippotoso
    Data Registrazione
    Nov 2008
    Località
    Gonars (UD)
    Messaggi
    282
    Togli la @ davanti a mysql_query() ed aggiungi questo codice dopo la riga che hai postato:

    Codice PHP:
    if ($RicercaTitolo === false) {
      die(
    'MySQL Error: ' mysql_error());


  4. #4
    User Newbie
    Data Registrazione
    Dec 2008
    Messaggi
    2
    Grazie, ho provato ambdue le soluzioni ma il problema permane..
    a questo punto non vorrei fosse un errore mio nell parte seguente del codice.

    Codice:
    $RicercaTitolo = mysql_query("SELECT * FROM forum_lite_topics WHERE titolo LIKE '%" . $_POST[Ricerca] . "%' ");
    if ($RicercaTitolo === false) {
      die('MySQL Error: ' . mysql_error());
    }
    A seguito eseguo questo codice per stampare le risposte dentro una tabella

    Codice:
    while($Risultati= @mysql_fetch_array($RicercaTitolo))
    {
      echo "<TR>
              <TD align=middle width=90>
                <P align=center>
                  <IMG height=75 src='".$Risultati[img]."' width=100 border=0>
                </P>
              </TD>
              <TD>
              <P align=left>
                <B>
                  <FONT face=Verdana size=2><A style='TEXT-DECORATION: none' 
              href='thread.php?f=".$Risultati[forum_id]."&amp;t=".$Risultati[id]."'>".$Risultati[titolo]."</A> 
                    <BR>
                  </FONT>
                </B>
                  <FONT face=Verdana size=1>".$Risultati[autore]." -
                    <I>".$Risultati[data]."
                    </I>
                  </FONT>
              </P>
              </TD>
             [...]
              ";
    }
    ci sbatto la testa da ieri, non riesco a capire che ci sia di sbagliato..

    Grazie, a voi che avete già risposto..
    Matteo

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.