Я пытаюсь создать инструкцию SQL, которая выглядит примерно так:
SELECT * FROM `table` WHERE `attribute` LIKE %variable_1% AND `attribute` LIKE %variable_2% AND ... AND `attribute` LIKE %variable_n%
У меня есть переменные: variable_1, variable_2, …, variable_n, хранящиеся в массиве, и для создания вышеупомянутого утверждения я собираюсь использовать цикл foreach, например:
$sql = 'SELECT * FROM `table` WHERE '; $variables_array; // this array will contain all the variables mentioned above, the variables are numerically indexed $total_variables = count($variables_array); foreach($variables_array as $key => $value){ $sql .= '`attribute` LIKE "%'.$value.'%" '; if($key != ($total_variables - 1) ){ $sql .= ' AND '; } }
Мой вопрос в том, как использовать методы «подготовить» и «bindValue» для объекта оператора PDO и PDO, соответственно, внутри моего цикла foreach, так что каждая вновь вставленная переменная безопасна для использования, как и когда они передаются в «подготовить», а затем вставить в оператор, используя «bindValue». Или есть некоторые другие методы, которые мне нужно использовать для этого?