php/mysql 搜索多个值

标签 php mysql search

我有一个带有(国家、城市、地区、已发布)字段的表格。我有一个搜索表单,人们可以在其中输入国家、城市或地区。我想要获取所有已发布的房屋 = 1 并且任何搜索词都与其任何字段相匹配。

这是我到目前为止所拥有的:

SELECT * FROM homes 
WHERE published = 1 
AND 
LOWER(country) LIKE '$search%' 
OR 
LOWER(city) LIKE '$search%'
OR
LOWER(area) LIKE '$search%'

问题是它返回已发布的房屋 = 0...

最佳答案

我建议使用括号。

SELECT * FROM homes 
WHERE published = 1 
AND
(
 LOWER(country) LIKE '$search%' 
 OR 
 LOWER(city) LIKE '$search%'
 OR
 LOWER(area) LIKE '$search%'
)

关于php/mysql 搜索多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759529/

相关文章:

php - Wordpress 无法生成 .htaccess 文件

php - 如何在mysql数据库中插入json数据的特定元素

php - 无法在 Laravel 中迁移文件

mysql - database.yml 中的 utf8 编码问题在插入时丢弃字符串

java - executeUpdate 异常

php - 如何在 codeigniter 中连接这些表

javascript - 使用 node-mysql 同时查询

java - 如何优化这个字符串搜索/替换方法?

ruby-on-rails - ruby rails : Search Form - multiple search fields

php - 如何在 PHP 中的另一个页面上携带搜索参数值