PHP: vorbereitete Anweisung, IF-Anweisung benötigt
Ich habe den folgenden Code:
$sql = "SELECT name, address, city FROM tableA, tableB WHERE tableA.id = tableB.id";
if (isset($price) ) {
$sql = $sql . ' AND price = :price ';
}
if (isset($sqft) ) {
$sql = $sql . ' AND sqft >= :sqft ';
}
if (isset($bedrooms) ) {
$sql = $sql . ' AND bedrooms >= :bedrooms ';
}
$stmt = $dbh->prepare($sql);
if (isset($price) ) {
$stmt->bindParam(':price', $price);
}
if (isset($sqft) ) {
$stmt->bindParam(':price', $price);
}
if (isset($bedrooms) ) {
$stmt->bindParam(':bedrooms', $bedrooms);
}
$stmt->execute();
$result_set = $stmt->fetchAll(PDO::FETCH_ASSOC);
Was ich bemerke, ist die redundante Anzahl von IF-Anweisungen, die ich habe.
Frag: Gibt es eine Möglichkeit, meinen Code zu bereinigen, damit ich diese mehreren IF-Anweisungen für vorbereitete Anweisungen nicht habe?