Здравствуйте, есть метод класса который ищет в базе данных фамилии которые начинаются с введённого пользователем в поле поиска слова. Надо сделать чтобы выбирало все фамилии которые начинаются с этих букв и при этом не учитывался регистр. Пока что сделал так:
public function get_all_users_arr($surname)
{
$result = mysqli_query($this->db, "SELECT `surname` FROM `users` WHERE `surname` REGEXP '$surname'");
$user_arr = array();
while ($row = $result->fetch_assoc()){
$user_arr[] = $row['surname'];
}
return $user_arr;
}
Таким образом находит все совпадения даже если они не в начале строки.
Раньше метод выглядел так:
public function get_all_users_arr($surname)
{
$result = mysqli_query($this->db, "SELECT `surname` FROM `users`");
$user_arr = array();
while ($row = $result->fetch_assoc()){
if ( mb_stripos($row['surname'], $surname, 0, "UTF-8") === 0) {
$user_arr[] = $row['surname'];
}
}
return $user_arr;
}
И выбирал всё а потом отсеивал ненужное, но это не то что надо.
Как сделать так чтобы данные отсеивались с помощью sql запроса и в массив попадали уже нужные значения?
Спасибо.