@Yapryntsew

Как сделать массив условием для sql выборки?

Есть массив вида key1=value1, key2=value2 и т.д, как сделать его условием sql запроса? Т.е привести к виду key1='value1' and key2='value2' и т.д . Очень интересно будет услышать объяснение и/или получить ссылки с полезной информацией. Благодарю.
  • Вопрос задан
  • 192 просмотра
Пригласить эксперта
Ответы на вопрос 2
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Это в корне не правильно.
Вдруг в массив прокрадется что-то лишнее? Я так понимаю вы его генерируете.
На крайняк используйте mysql билдеры запросов (ORM).

Ну а если хочется - вот пример (очень плохо, не используйте пожалуйста):
$whereClause = [];
foreach($array as $key=>$value){
  $whereClause[] = "`{$key}` = '{$value}'";
}
$whereClause = implode(' AND ', $whereClause);
Ответ написан
Комментировать
Для ассоциативных массивов есть функция array_keys, которая получает все ключи массива. Затем можно просто пробежать foreach-цикл и "слепить" нужную строку.
Еще есть функция extract, извлекающая ключи массива в качестве переменных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы