php - 如何为企业名称创建mysql查询?

标签 php mysql mysqli

我有一个带有两列“ 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/

相关文章:

php - 隐藏查询参数的网址不起作用

php - 当日期字段中有时间和日期时,获取两个日期之间的 SQL 数据

mysql - 从idb文件恢复表结构,误删除frm文件

c# - 如何使用 C# 连接到 MySQL 并在控制台中显示条目列表?

mysql - Shield UI 网格日期 : how to format

php - 如何让用户注册后自动登录

php - 更新我的数据库时遇到问题

php - 从没有 'json_decode' 或 PEAR 的 'Services_JSON' 的 PHP 解析 JSON

php - Laravel 5 : organised models in subdirectory not found

php - 自动备份数据库的最佳方法