Я пытаюсь выполнить запрос mysqli, используя следующий код:
$sql = "SELECT * FROM `table` WHERE `description` LIKE ('AB CD %')";
$result= mysqli_query($con, $sql) or die(mysqli_error());
, и этот запрос дает мне 6 результатов.Он будет искать только такие элементы, как «AB CD EF ...», а не такие элементы, как «AB CDEF ...», и это именно то, что я хочу.Но если я передам значению LIKE переменную, подобную этой:
$var = "AB CD ";
$sql = "SELECT * FROM `table` WHERE `description` LIKE ('$var%')";
$result= mysqli_query($con, $sql) or die(mysqli_error());
, это даст мне нулевой результат.
Я пробовал также несколько форматов LIKE, таких как ...('".$var."%')";
или CONCAT($var, '%')
,но ничего.
Как получить те же результаты, что и первый запрос, используя переменную, как во втором запросе?
Переменная get получает запрос, который выберет все элементы description
изатем, внутри цикла while, он будет искать первые заглавные буквы каждого элемента:
$name = $row['description'];
$expr = '/[A-Z]*/';
preg_match_all($expr, $name, $res);
$var = implode(' ', $res[0]);
Каждая строка имеет значения типа «AB CD EF, что-то еще, не заглавные буквы»
Спасибо.