Множественный запрос к базе данных 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 . "%')";

Вроде работает.

→ Ссылка