我一直在阅读教程,并没有学到什么新东西。我有一张顾客的桌子。客户的名字和姓氏存储在单独的列中。我想编写一个查询,可以按名称搜索客户,无论是第一个,最后一个还是BOTH。MySQL LIKE运营商和通配符
下面是我得到了什么:
$queryyy = "
SELECT *
FROM `customers`
WHERE
`first_name1` LIKE '".mysql_real_escape_string($_GET['custname'])."%'
OR `last_name1` LIKE '%".mysql_real_escape_string($_GET['custname'])."'
AND `status` = 'active'
LIMIT 6
";
如果我想找到“林赛·汤普森”,我可以查询“林赛”,或为“汤普森”,并得到我想要的结果,但如果我查询“lindsay thompson”,我什么也没得到。
我觉得我错过了通配符,或者没有正确使用它们。是否有人可以解释这对我和我纠正..查询
感谢
你想要的精确匹配?为什么你''%有? – zerkms 2013-02-23 08:07:57
我不一定需要完全匹配,问题是我没有得到任何结果 – 2013-02-23 08:11:04
你设置它的方式,它不会工作。在空格处爆炸字符串,并分别用通配符匹配第一个和最后一个名字(例如'firstname LIKE'lind%'或lastname LIKE'thomp%'') – Supericy 2013-02-23 08:12:13