[英]get data using a lower or upper case using mysql like query?
I want to search for data from the database using MySQL like
query我想使用 MySQL 之
like
查询从数据库中搜索数据
here is my query:这是我的查询:
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
);
My data is like DUET
{upper case letter} in database I search using lower case duet
It returns no results found
But when I search Duet
its found.我的数据就像数据库中的
DUET
{大写字母} 我使用小写duet
搜索它返回no results found
但是当我搜索Duet
它找到了。
See results when I search using duet
使用
duet
搜索时查看结果
in lower case: duet results小写:二重奏结果
See results when I search using Duet
使用
Duet
搜索时查看结果
in Duet: results在二重奏中:结果
And If I use this SQL query manually in phpmyadmin its result found.如果我在 phpmyadmin 中手动使用此 SQL 查询,则会发现其结果。
So that reason I want to get data using a lower or upper case!所以这就是我想使用小写或大写获取数据的原因!
I am using properly prepare query like:我正在使用正确准备查询,如:
$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
And Its works.它的作品。
Convert your search string in lower case将您的搜索字符串转换为小写
$search=strtolower($search);
Then use LOWER() function to convert your field value in lower case and query like this :然后使用 LOWER() 函数将您的字段值转换为小写并查询如下:
AND LOWER(tbl_brand.brand_name) LIKE '%$search%'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.