微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP Mysql搜索查询

您好我有一个简单的搜索查询,我面临的是当有人写他想要搜索用户的唯一名字时,我的查询找到它,当有人只在输入中写下姓氏并发布时,它也显示了这一点,但是当用户在输入中一起写出名字和姓氏时,即使他/她存在,也找不到用户. $q查询的最后一部分,我写了第一个名字和姓氏,如部分不起作用我知道我的逻辑是坏的,但我怎么能解决这个问题

    try {
        $q = "SELECT * FROM `members` WHERE `first_name` LIKE :search_string OR `last_name` LIKE :search_string OR `first_name` AND `last_name` LIKE :search_string";
        $q_do = $db->prepare($q);
        $q_do->execute( array("search_string"=>'%'.$query.'%') );
        $number = $db->query("SELECT FOUND_ROWS()")->fetchColumn();
    } catch(PDOException $e) {
        $log->logError($e." - ".basename(__FILE__));
    }

谢谢

解决方法:

尝试使用concat:

$q = "SELECT * FROM `members` WHERE `first_name` LIKE :search_string 
OR `last_name` LIKE     :search_string 
OR concat(`first_name` , ' ', `last_name`) LIKE :search_string";

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐