- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Errore MySQL ricerca su più tabelle
-
Errore MySQL ricerca su più tabelle
Salve,
ho creato un modulo di ricerca in cui le variabili sono dichiarate così:
[php] #Parametri ricerca
var $fulltext = "Modello,Descrizione";
var $table = "day_processori, day_harddisk";[/php]day_processori e day_harddisk sono due tabelle del db (in futuro ne vorrei aggiungere altre).Mentre la funzione di ricerca è la seguente:
[php]function GetResource()
{
$this->DbConnectAndSelect();
$sql = "SELECT * MATCH($this->fulltext) AGAINST('$this->key' IN BOOLEAN MODE) AS tot FROM $this->table WHERE MATCH($this->fulltext) AGAINST('$this->key' IN BOOLEAN MODE) ORDER BY tot DESC";
$this->res = mysql_query($sql, $this->conn);
//print $sql;
//die;}[/php]Ciò che dovrebbe restituirmi il risultato è il codice seguente (linea 114):
[php]$search->GetResource();
while ($row = mysql_fetch_array($search->res))[/php]Tuttavia ottengo questo errore:**Warning**: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in **C:\...\cerca.php** on line **114** ```Un print sulla query mi ha restituito:
SELECT * MATCH(Modello,Descrizione) AGAINST('maxtor' IN BOOLEAN MODE) AS tot FROM day_processori, day_harddisk WHERE MATCH(Modello,Descrizione) AGAINST('maxtor' IN BOOLEAN MODE) ORDER BY tot DESC
Dove sto sbagliando?? Grazie, S.
-
Prova ad utilizzare questa query, in particolare con la virgola dopo l'asterisco.
SELECT *, MATCH(...
Ciao!
-
Ciao e grazie per la risposta!
Tuttavia niente da fare...Sempre lo stesso errore.
Altre soluzioni?
-
credo che l'errore stia nel mancato uso dell'inner join, inoltre dovresti mettere la segnalazione dell'errore anche sulla query visto che probabilmente il problema sta lì
-
Grazie per il consiglio, ma l'INNER JOIN lo dovrei inserire tra il richiamo alle due tabelle del db?
-
c'è una relazione tra le due tabelle? i campi modello e descrizione ci sono in entrambe le tabelle?
-
Trattandosi di operazioni su due tabelle, prova a cambiere i tag <campo> della query con i tag <tabella>.<campo>.
Altra cosa, le tabelle su cui esegui il matching hanno un indice full-text?Ciao!