Можно ли вставить одно и то же значение более одного раза в экранированную строку? т.е.
$wpdb->prepare("SELECT * FROM table WHERE (column1 = %s || column2 = %s || column3 = %s) AND this = $s", $search_terms,$that");
Если нет, есть ли у кого-нибудь хорошая альтернатива для строителя условий. SQL запускается более одного раза для выбора таблиц. Некоторые таблицы имеют больше столбцов для поиска, чем другие, поэтому я создал конструктор условий. Но сейчас я пытаюсь избежать значений, чтобы предотвратить внедрение SQL.
$conditions = "";
$query_seperator = " || ";
$i = 0;
foreach($table['fields'] as $field){
if ($i < ($field_count-1)){
$conditions = $conditions . $field . " LIKE %s" . $query_seperator;
} else {
$conditions = $conditions . $field . " LIKE %s";
}
$i++;
}
$wpdb->prepare("SELECT * FROM table WHERE ($conditions) AND this = $s", $search_terms,$that");