Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306

    [MySQL] Problema query full text

    Salve a tutti! Ho tirato su uno script che data un stringa la va a cercare su tutti i campi di tutte le tabelle.

    Codice PHP:

    $database
    ="miodb";
    $str="parola da cercare";


    //trovo tutte le tabelle del database
    $query=("SHOW TABLES FROM $database");
    $sql=mysql_query($query$conn);

    while(
    $rs=mysql_fetch_array($sql))
    {

    //trovo tutti i campi per ogni tabella
    $query1=("SHOW COLUMNS FROM $rs[0]");
      
    $sql1=mysql_query($query1$conn);

       while(
    $rs1=mysql_fetch_array($sql1))
        {
            
    $query2=("SELECT * FROM $rs[0] WHERE $rs1[0] LIKE '%$str%' ");
              
    $sql2=mysql_query($query2$conn) or die (mysql_error());

            if(
    mysql_num_rows($sql2) != 0)
            {
                
    $rs2=mysql_fetch_array($sql2);
                echo
    "$rs2[0]";
            }else{
                    echo
    "Nessun Record trovato";
            }

        }
       

    Il problema è che non funziona!!! Dice che "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option LIKE '%parola da cercare%'' at line 1". Se stampo una query a caso e la incollo su mysql-query-browser funziona perfettamente! Ho anche salvato tutte le query stampate e le ho lanciate come file esterno dalla shell di mysql: tutto ok! Allora il problema di questo codice dov'è?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Prova ad aggiungere i backtick (alt+96) ai nomi delle tabelle e delle colonne, così:
    Codice PHP:
    SELECT FROM `$rs[0]` WHERE `$rs1[0]` LIKE '%$str%' 

  3. #3
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    Funziona!!! grazie mille!!!!

  4. #4
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    BUMP!

    scusate se uppo, ma a me non funziona...

    mi dà errore questa riga:

    Codice PHP:
    while($rs1=mysql_fetch_array($sql1)) 
    PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    qualche dritta? Il mio problema è questo
    http://forum.html.it/forum/showthrea...readid=1141802
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  5. #5
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    Ciao!
    Hai messo "or die (mysql_error());" vicino a
    $sql1=mysql_query($query1, $conn); ?

  6. #6
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    mi sembra di no..

    Codice PHP:
    <?php

    $database
    ="NAME-MY-DATABASE";
    $str="United States";

    $conn mysql_connect("localhost""root""root") or die('Errore connessione db');
    //trovo tutte le tabelle del database
    $query=("SHOW TABLES FROM $database");
    $sql=mysql_query($query$conn);

    while(
    $rs=mysql_fetch_array($sql))
    {

    //trovo tutti i campi per ogni tabella
    $query1=("SHOW COLUMNS FROM $rs[0]");
      
    $sql1=mysql_query($query1$conn);

       while(
    $rs1=mysql_fetch_array($sql1))
        {
            
    $query2=("SELECT * FROM `$rs[0]` WHERE `$rs1[0]` LIKE '%$str%' ");
              
    $sql2=mysql_query($query2$conn) or die (mysql_error());

            if(
    mysql_num_rows($sql2) != 0)
            {
                
    $rs2=mysql_fetch_array($sql2);
                echo 
    $rs2[0];
            }else{
                    echo
    "Nessun Record trovato";
            }
        }
    }
    ?>
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  7. #7
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    mettilo così cominciamo a capire dove sta l'errore...strano a me funziona!

  8. #8
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    prima di

    Codice PHP:
    $query=("SHOW TABLES FROM $database"); 
    andava messo
    Codice PHP:
    mysql_select_db(NAME-MY-DATABASE) or die("Impossibile trovare il database"); 
    ora funzione. Nessun record trovato.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  9. #9
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    Se dice nessun record trovato significa che la stringa non è presente...

  10. #10
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    invece quella stringa l'ho trovata, quindi quel codice non è affidabile al 100%.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

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.