Множественный запрос к базе данных MariaDB
На сайте реализован поиск через базу данных. Стоит задача реализовать дополнительный функционал поиска по номеру телефона, имени и почте. Накидал тестовую функцию:
`function request($d)
{
$search = isset($d['search']) && trim($d['search']) ? $d['search'] : '';
$offset = isset($d['offset']) && is_numeric($d['offset']) ? $d['offset'] : 0;
$where = [];
$limit = 20;
if ($search) $where[] = "first_name LIKE '%" . $search . "%'";
$where = $where ? "WHERE " . implode(" AND ", $where) : "";
return DB::query("SELECT plot_id, user_id, first_name, last_name, phone, email, last_login
FROM users ".$where." ORDER BY user_id+0 LIMIT " .$offset. ", " .$limit.";");
}`
На выходе формируется строка:
`"SELECT plot_id, user_id, first_name, last_name, phone, email, last_login
FROM users WHERE first_name LIKE '%123%' ORDER BY user_id+0 LIMIT 0, 20;"`
Из $d['search'] приходит данные для поиска. Запрос отрабатывает верно. Вопрос как еще запихнуть в запрос значения, чтобы запустился процесс поиска по телефону и почте? Просто завис, help please!
Ответы (1 шт):
Автор решения: Artem Goodov
→ Ссылка
Не знаю насколько верное решение, добавил
$where[] = "(first_name LIKE '%" . $search . "%' OR phone LIKE '%" . $search . "%' OR email LIKE '%" . $search . "%')";
Вроде работает.