Я хочу искать несколько значений из поля базы данных.
below is my query.
Например
_$Shape = Makeable2,Clivage Brn_ ;
_$Color = GHI,JKL_
SELECT * FROM inventory WHERE Shape IN ($Shape) OR Color IN ($Color)
я ищу данные с помощью базы данных MySQL, поэтому поиск выполняется неправильно, я пробовал
Это ничего не прояснило. Прочтите Как создать минимальный, полный и проверяемый пример
Не помещайте несколько значений в одну скалярную переменную. Используйте массив, если значения связаны или используют разные переменные. Как только вы решите это, проведите дополнительные исследования подготовленных операторов и параметров привязки, используя IN.
А что не работает с данным запросом?






Я написал свой ответ, и я вижу, что вы теперь отредактировали пост, все еще собираясь опубликовать то, что я написал.
Не уверен, что именно вы хотите сделать. Но вот пример того, чего, я думаю, вы хотите достичь. Предполагая, что все значения в вашем массиве очищены... Этот запрос будет работать. Как уже говорилось ранее, вам нужно создать массив со всеми значениями, которые вы хотите найти. Отрегулируйте в соответствии с вашими потребностями.
$ArrayA = array("round", "circle", "something");
$ArrayB = array("red" , "green");
$sql = "SELECT * FROM inventory WHERE Shape IN ('".implode("','",$ArrayA)."') OR Color IN ('".implode("','",$ArrayB)."')";
Пример размещения базы данных;
id Shape Color
1 round red
2 round blue
3 square red
4 square green
5 circle blue
6 circle red
7 circle green
8 something blue
9 something green
Вы не только широко открыты для SQL-инъекций и должны использовать параметризованные подготовленные операторы, но вам также необходимо дать нам описание вашей проблемы. Что случается? Каковы ожидаемые результаты и так далее. Вы также должны показать нам все соответствующий код. Не просто кусочки.