[英]get data using a lower or upper case using mysql like query?
我想使用 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
搜索時查看結果
在二重奏中:結果
如果我在 phpmyadmin 中手動使用此 SQL 查詢,則會發現其結果。
所以這就是我想使用小寫或大寫獲取數據的原因!
我正在使用正確准備查詢,如:
$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
它的作品。
將您的搜索字符串轉換為小寫
$search=strtolower($search);
然后使用 LOWER() 函數將您的字段值轉換為小寫並查詢如下:
AND LOWER(tbl_brand.brand_name) LIKE '%$search%'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.