php - 使用类似 mysql 的查询使用小写或大写获取数据?

标签 php mysql wordpress

我想使用 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 {upper case letter} 我使用小写 duet 搜索它返回 no results found 但是当我搜索 Duet 找到了。

使用 duet 搜索时查看结果

in lower case: duet results

使用 Duet 搜索时查看结果

in Duet: results

如果我在 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

及其作品。

关于php - 使用类似 mysql 的查询使用小写或大写获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56864851/

相关文章:

javascript - 如果重新打开选项卡则重新加载页面

wordpress - 如何根据页面相关的条件标签有条件地添加过滤器

javascript - 在 WordPress wp_editor 中设置 TinyMCE 4 内容

php - mysql select count 与另一个 select count

php - PHP/UDP : Can write via UDP,,但无法接收数据接缝

php - 如何仅在 laravel whereBetween() 上查询日期部分

mysql - int(11) 与 int(任何其他)

javascript - 如何从 php 调用 javascript 函数

html - 向 wp 导航菜单添加不同的跨度类

php - Wordpress 仅在 for 循环中回显一次