Я пытаюсь запустить запрос MySQL, в котором элемент просматривается с использованием LIKE.Создайте динамический запрос MySQL с помощью массива - PHP
Структура таблицы: TableExample
id name piece
0 jon piece0
1 james piece3
2 sarah piece6
отрезала я до сих пор:
$pieces = "piece0 piece1"; //variable
$piecearrayexplode = explode(" ", $pieces);
$piece0 = $piecearrayexplode[0];
$piece1 = $piecearrayexplode[1];
$sql = "SELECT * FROM TableExample WHERE piece LIKE '%$piece0%' OR pieces LIKE '%$piece1%'";
У меня есть проблема в том, что $ частей является переменной, и мне нужно $ SQL, чтобы быть динамичным и автоматически имеют правильное количество операторов LIKE.
E.g. если $ шт = "piece0 piece1 piece2", я хочу $ SQL быть:
$sql = "SELECT * FROM TableExample WHERE piece LIKE '%$piecearrayexplode[0]%' OR pieces LIKE '%$piecearrayexplode[1]%' OR pieces LIKE '%$piecearrayexplode[2]%'";
Примечание: $ части всегда разделены пробелом.
Я могу рассчитать количество слов.
$count = str_word_count($pieces);
Я не знаю, куда идти оттуда.
я смотрю на эту Create a dynamic mysql query using php variables
Это не кажется, что я ищу, потому что ЛЮБИТ являются последовательными и не 1, как один оператор WHERE. Я что-то упустил?