解决MySQL查询不区分大小写的问题

以ThinkPHP为例

/**
 * 数据库中card_num=a123456;card_password='123456';
 * 条件1 :$param['card_num'] = 'a123456';$param['card_password'] = '123456';
 * 条件2 :$param['card_num'] = 'A123456';$param['card_password'] = '123456';
 * 条件1和条件2都能查出数据库中的那条数据
 */
$usercard = new UsercardModel();
$is_has = $usercard->where([
    'card_num' => $param['card_num'],
    'card_password' => $param['card_password'],
    'if_use' => 0,
])->find();



/**
 * 解决方法
 * 在需要区分大小写的字段前加binary关键字
 * 如下 
 */
$usercard = new UsercardModel();
$is_has = $usercard->where([
    'binary card_num' => $param['card_num'],
    'card_password' => $param['card_password'],
    'if_use' => 0,
])->find();

猜你喜欢

转载自blog.csdn.net/weixin_42330073/article/details/84314758