получить данные в нижнем или верхнем регистре, используя MySQL запрос - PullRequest
1 голос
/ 03 июля 2019

Я хочу найти данные из базы данных, используя MySQL like запрос

, вот мой запрос:

global $wpdb;

if($_GET['search']){
    $search = $_GET['search'];
}
else{
    $search = $_GET['searchtop'];
}

$search_details = $wpdb->get_results(
   $wpdb->prepare(
        "SELECT * FROM 
               tbl_brand,
               tbl_generic,
               tbl_therapeutic_area,
               tbl_drug 
         WHERE 
               tbl_brand.generic_id = tbl_generic.generic_id 
         AND 
               tbl_brand.therapeutic_area_id = 
               tbl_therapeutic_area.therapeutic_area_id 
         AND 
               tbl_brand.brand_id = tbl_drug.brand_id 
         AND 
               tbl_brand.brand_name LIKE '%$search%'",""
        ),ARRAY_A
    );

Мои данные похожи на DUET {заглавная буква}в базе данных я ищу в нижнем регистре duet Возвращает no results found Но когда я ищу Duet его найдено.

Просмотр результатов при поиске с использованием duet

в нижнем регистре: результаты дуэта

Просмотр результатов при поиске с использованием Duet

в Duet: результаты

И если я использую этот SQL-запрос вручную в phpmyadmin, его результат найден.

Так вот почему я хочу получитьданные в нижнем или верхнем регистре!

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Я использую правильно подготовленный запрос, например:

 $wpdb->prepare(
        "SELECT * FROM tbl_brand,tbl_generic,tbl_therapeutic_area,tbl_drug 
        WHERE tbl_brand.generic_id = tbl_generic.generic_id 
        AND tbl_brand.therapeutic_area_id = tbl_therapeutic_area.therapeutic_area_id AND tbl_brand.brand_id = tbl_drug.brand_id AND LOWER(tbl_brand.brand_name) LIKE %s",'%' . $wpdb->esc_like($search) . '%',""
    ),ARRAY_A

И это работает.

0 голосов
/ 03 июля 2019

Преобразуйте строку поиска в нижний регистр

$search=strtolower($search);

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

AND LOWER(tbl_brand.brand_name) LIKE '%$search%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...