Sto cercando di realizzare un file per effettuare una ricerca con più condizioni ma mi imbatto sempre nello stesso errore.
Preciso che ho PHP 5.2.5 e MYSQL 5.0.45

questo è il file:
<form action="prova2.php" method="post" name="form">
Codice PHP:
        <?php
                $query1 
"SELECT * FROM viaggi group by cognome"
                
$res mysql_query($query1) or die(mysql_error());
                echo 
"<label>";
                echo 
"Cognome ";
                echo 
"<select name='cognome'>"
                echo 
"<option selected='selected'></option>";
                while(
$rowmysql_fetch_array($res)){
                echo 
"<option>".$row['cognome']."</option>"
                }
                echo 
"</select>";
                echo 
"</label>";
                
                
$query2 "SELECT * FROM viaggi group by nome"
                
$res mysql_query($query2) or die(mysql_error());
                echo 
"<label>";
                echo 
"Nome ";
                echo 
"<select name='nome'>"
                echo 
"<option selected='selected'></option>";
                while(
$rowmysql_fetch_array($res)){
                echo 
"<option>".$row['nome']."</option>"
                }
                echo 
"</select>";
                echo 
"</label>";
                
                
$query3 "SELECT * FROM viaggi group by citta"
                
$res mysql_query($query3) or die(mysql_error());
                echo 
"<label>";
                echo 
"Città ";
                echo 
"<select name='citta'>"
                echo 
"<option selected='selected'></option>";
                while(
$rowmysql_fetch_array($res)){
                echo 
"<option>".$row['citta']."</option>"
                }
                echo 
"</select>";
                echo 
"</label>";
                 
?>
<input type="submit" name="button2" id="button2" value="Cerca"></td>
</form>
Codice PHP:
<?php
$query 
mysql_query("SELECT * FROM viaggi where ");

if(isset(
$_POST['cognome']) and $_POST['cognome'] != ''){
      
$query .= "cognome = "'$_POST[cognome]'." and ";
    } 
if(isset(
$_POST['nome']) and $_POST['nome'] != ''){
      
$query .= "nome = "'$_POST[nome]'." and ";
    } 
if(isset(
$_POST['citta']) and $_POST['citta'] != ''){
      
$query .= "citta = "'$_POST[citta]'." and ";
    } 
                      while (
$row=mysql_fetch_array($query)) {
          
print 
$row['cognome'];
print 
$row['nome'];
print 
$row['citta'];
?>

               
<?php  ?>
questo è l'errore che mi da:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\siti\avserver\acquisti\consegna\prova2.php on line 57

la linea 57 è la seguente:

Codice PHP:
 while ($row=mysql_fetch_array($query)) {