Hola,
En primer lugar, esa SQL que has puesto esta mal. Te falta el WHERE y las condiciones se deben separar por AND (o OR o el que corresponda).
Segundo, lo que puedes hacer es solo crear las condiciones necesarias. Algo asi:
Código PHP:
$condicion='';
if ('Cualquiera'!=$Q_fruta) {
$condicion .="fruta = '$Q_Fruta'";
}
if ('Cualquiera'!=$Q_Color) {
if (''!=$condicion) $condicion .=' AND ';
$condicion .="color = '$Q_Color'";
}
if ('Cualquiera'!=$olor) {
if (''!=$condicion) $condicion .=' AND ';
$condicion .="olor = '$olor'";
}
$Query = "SELECT * from $TableName ";
if (''!=$condicion) $Query .=' WHERE '.$condicion;
echo $query;
Y por ultimo, si son campos de texto (como parece), la cadena que sustituye a cualquier cadena es el comodin '%'. Pero creo recordar que funciona para LIKE, no para el =.
Yo prefiero la solucion de solo crear las condiciones absolutamente necesarias.
Saludos.
PD: Las preguntas de SQL, mejor en el foro de base de datos.