Как использовать переменные в предложении WHERE для SQL SELECT-запроса

Мой запрос SQL SELECT имеет 3 переменные, заданные формой HTML, однако эти переменные могут быть пустыми:

$suburb = (isset($_POST['suburb'])) ? $_POST['suburb'] : ''; $postcode = (isset($_POST['postcode'])) ? $_POST['postcode'] : ''; $state = (isset($_POST['state'])) ? $_POST['state'] : ''; 

Когда все 3 переменные вводятся в форму, запрос SELECT обрабатывается точно (из-за AND в предложении WHERE). Но когда одна или несколько переменных пусты, ошибки запроса SELECT, поскольку они ищут значение NULL в базе данных.

Я хочу, чтобы это было, когда переменная имеет значение null, я не хочу, чтобы предложение where для нее

Запрос:

 $sql = <<<SQL SELECT cs.customerRefId, cc.firstName, cc.lastName, cc.email, cc.phone, cc.mobile, cs.seekingAddressSuburb, cs.seekingAddressPostcode, cs.seekingAddressState FROM customer_seeking cs LEFT JOIN customer_contact cc ON cc.customerRefId = cs.customerRefId WHERE cs.seekingAddressSuburb = '$suburb' AND cs.seekingAddressPostcode = '$postcode' AND cs.seekingAddressState = '$state' SQL; if(!$result = $db->query($sql)){ die('There was an error running the query [' . $db->error . ']'); } 

Например, если определена только переменная состояния (cs.seekingAddressSuburb = '$ suburb' AND cs.seekingAddressPostcode = '$ postcode' AND удаляются из предложения WHERE):

 $sql = <<<SQL SELECT cs.customerRefId, cc.firstName, cc.lastName, cc.email, cc.phone, cc.mobile, cs.seekingAddressSuburb, cs.seekingAddressPostcode, cs.seekingAddressState FROM customer_seeking cs LEFT JOIN customer_contact cc ON cc.customerRefId = cs.customerRefId WHERE cs.seekingAddressState = '$state' SQL;