[php-mysql] problema con motore di ricerca

Ciao a tutti.

ho creato questa pagina in php per cercare nel mio database alcune informazioni.

ma non riesco a venire a capo del problema.

infatti mi butta fuori sempre questi errori:

Attenzione, impossibile trovare il recordmssql_error(SELECT * FROM `giocatori` WHERE `nome` LIKE CONVERT(_utf8 'Nicola' USING latin1) COLLATE latin1_swedish_ci)mssql_errno()

oppure:

Attenzione, impossibile trovare il recordmssql_error(SELECT * FROM `giocatori` WHERE `cognome` LIKE CONVERT(_utf8 'Bonazzi' USING latin1) COLLATE latin1_swedish_ci)mssql_errno()...

mi riuscite a dare una mano?

questo č il codice della pagina :

$nome=$_GET['nome'];

$cognome=$_GET['cognome'];

$eta=$_GET['anno_nascita'];

$altezza=$_GET['altezza'];

$peso=$_GET['peso'];

$squadra=$_GET['squadra'];

$query = "SELECT * FROM `giocatori` WHERE";

if($nome!= "") { $query = "$query `nome` LIKE CONVERT(_utf8 '$nome' USING latin1) COLLATE latin1_swedish_ci"; }

if($cognome!= "") {

if($nome!= "") {

$query = "$query AND `cognome` LIKE CONVERT(_utf8 '$cognome' USING latin1) COLLATE latin1_swedish_ci";

} else {

$query = "$query `cognome` LIKE CONVERT(_utf8 '$cognome' USING latin1) COLLATE latin1_swedish_ci";

}

}

if($eta!= "") {

if(($nome!= "") OR ($cognome!= "")) {

$query = "$query AND `eta` = '$eta'";

} else {

$query = "$query `eta` = '$eta'";

}

}

if($peso!= "") {

if(($nome!= "") OR ($cognome!= "") OR ($eta!= "")) {

$query = "$query AND `peso` ='$peso'";

} else {

$query = "$query `peso` = '$peso'";

}

}

if($squadra!= "0") {

if(($nome!= "") OR ($cognome!= "") OR ($eta!= "") OR ($peso!= "")) {

$query = "$query AND `id_squadra` = $squadra";

} else {

$query = "$query `id_squadra` = $squadra ";

}

}

if(!mysql_query($query))

{

print("Attenzione, impossibile trovare il record"); // ...viene visualizzato un messaggio di errore

print "mssql_error($query)"; // ...e relativo debug dello stesso

print "mssql_errno($db)";

}

else// se invece la query ha successo ...

{

$gioc= mysql_fetch_array($query);

print ("$gioc[nome]");

}

inviato 10 anni fa
pmarlat
X 0 X

Per prima cosa ti consiglio di controllare la sintassi della funzione CONVERT:

http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html

Inoltre il modo in cui esegui la query e ne verifichi l'esito non č corretissimo, dovresti procedere in questo modo:

$result = mysql_query($query);

if (!$result) {

   echo 'Errore nella query: ' . mysql_error();

}

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda