PHP Mysql搜索查询

3 php mysql search pdo

您好我有一个简单的搜索查询,我面临的是当有人写他想要搜索的用户的唯一名字时,我的查询找到它,当有人只在输入中写下姓并发布时,它也显示了这一点,但是当用户在输入中一起写出名字和姓氏时,即使他/她存在,也找不到用户.$ 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__));
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

Gre*_*ack 11

尝试使用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";
Run Code Online (Sandbox Code Playgroud)