Каков наилучший способ построить инструкцию SQL с PDO, когда это зависит от того, установлена ли какая-либо переменная PHP?построить условный SQL-оператор с PDO
Вот пример;
$query="SELECT * FROM table ";
if($variable1 != "") { $query = $query . "WHERE variable1 = :variable1"; }
if($variable2 != "") { $query = $query . " AND variable2 = :variable2"; }
$query -> execute(array(':variable1' => $variable1, ':variable2' => $variable2));
У меня есть много этих if
заявлений и при связывании переменных в запросе я не хочу, чтобы снова пройти через все эти if
заявления.
Есть ли более простой способ построить инструкцию SQL с такими условиями if/else?
Да, это, вероятно, было бы более изящным для построения запроса - но как узнать, что мне нужно связать в инструкции execute? – grueb
Не 100% на это, но выглядит как выполнить принять ассоциативный массив ... см. Код в редакторе Ответ. – CLaFarge
Это будет работать большую часть времени, но предложение WHERE должно быть добавлено условно, так как возможно, что ни одна из «переменныхN» не содержит значения. – zerobandwidth