我有一个带有两列“ businessName”和“ zipCode”的mysql表“ businesses”。搜索框允许用户按公司名称或邮政编码进行搜索。这是我的查询:
$query = "SELECT * FROM businesses ";
$query .= "WHERE businessName LIKE $_POST['search'] ";
$query .= "OR zipCode LIKE $_POST['search']";
按邮政编码搜索将返回正确的结果,但按公司名称搜索不会返回正确的结果。仅当我在“ River City Brewing Co”之类的引号中输入正确的名称并使用大写字母时,才可以使用公司名称搜索。
我想要一个不需要确切拼写或大写字母或引号即可返回公司名称的查询。任何帮助是极大的赞赏!
最佳答案
如下更新查询
$search = strtoupper(preg_replace('/[^A-Za-z0-9\. -]/', '', $_POST['search']));
$query = "SELECT * FROM businesses ";
$query .= "WHERE UPPER(businessName) LIKE '%$search%' ";
$query .= "OR UPPER(zipCode) LIKE '%$search%'";
关于php - 如何为企业名称创建mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998882/