Mach es doch einfach folgendermaßen::
PHP-Code:
$sql = "SELECT * FROM test";
$where = "WHERE 1=1";
if (!empty($marke)) {
$where .= " AND Marke LIKE '%" . mysql_real_escape_string($marke) . "%'";
}
if (!empty($suchwort) && $suchwort != 'Produktfinder') {
$where .= " AND MATCH (Bezeichnung, Beschreibung, Marke) AGAINST('" . mysql_real_escape_string($suchwort) . "')";
}
Erläuterung: Du definierst zunächst den Query ohne WHERE Klausel. Dann erzeugst du die WHERE Klausel mit der Bedingung 1=1. Das hat für die Ergebnisse keine Auswirkungen aber auf den Query->Syntax denn wie du siehst werden die beiden Abfragen für die Suchfelder per AND angehängt. Um umständliche Abfragen zu vermeiden starten beide Befehle immer mit AND. In Kombination mit dem 1=1 ist es nun egal welche Bedingung als erstes angehängt wird und ob schon eine Bedingung angehängt wurde.