Подтвердить что ты не робот

PHP - Как использовать strtolower в запросе

В базе данных у меня есть это поле: " TeST", и я не знаю, где находится блокировка колпачков, и я просто хочу strtolower его и сделать что-то вроде этого

SELECT * FROM table WHERE strtolower(field) = strtolower($var)

Как я могу это сделать?

4b9b3361

Ответ 1

Использование PDO и предположение MySQL

$stmt = $db->prepare('SELECT * FROM table WHERE LOWER(`field`) = ?');
$stmt->execute(array(strtolower($var)));

Ответ 2

В MySQL функция называется LOWER. Затем вы можете просто использовать учетную запись, не учитывающую регистр, в поле или в поле запрос, и он будет соответствовать независимо от случая, который кажется лучшим вариантом.

Ответ 3

Просто используйте:

"SELECT * FROM `table_name` WHERE LOWER(`field_name`)='".strtolower($_var)."'";

Или используйте

"SELECT * FROM `table_name` WHERE LCASE(`field_name`)='".strtolower($_var)."'";

Обе функции работают одинаково

Ответ 4

LOWER Функция в mysql может использоваться для преобразования значения поля в нижний регистр. например:

"select * from table_name where LOWER(email) = ?";

Ответ 5

$motors = Motor::with([
    'category', 
    'company', 
    'images' => function ($q) {
        $q->select('motor_id', DB::raw('url as image'));
    }
])->orderBy(function ($query) use($Sort_by_column) {
     $query->orderBy($Sort_by_column, $Sort_by);
})->paginate(env('PER_PAGE'))->get();

Он дает ошибку функции strtolower при использовании orderby.