php - 按条件获取 SQL 行

标签 php mysql sql

我试图通过某些条件获取一些行,但它并没有像我想要的那样工作; 请查看我的代码并分享您的想法。

            $query = mysqli_query($sqli,"SELECT * FROM  `table` WHERE 
                `name`      =       '$nameFA'   OR 
                `name`      =       '$nameLA'   OR
                `ft`        LIKE    '%$nameFA%' OR
                `ft`        LIKE    '%$nameLA%' AND
                `information`   LIKE    '%$info%'
            ");

如您所见,nameft 的输入可能有两个不同的值。 如果 information 具有类似 $info 的变量,则应获取行。

最佳答案

试试这个方法:

$query = mysqli_query($sqli,"SELECT * FROM  `table` WHERE 
    (`name`      =       '$nameFA'   OR 
    `name`      =       '$nameLA'   OR
    `ft`        LIKE    '%$nameFA%' OR
    `ft`        LIKE    '%$nameLA%')
    AND `information`   LIKE    '%$info%'
");

或者这样,因为我们不知道你想做什么,所以我们不知道如何放置括号:

$query = mysqli_query($sqli,"SELECT * FROM  `table` WHERE 
    `name`      =       '$nameFA'   OR 
    `name`      =       '$nameLA'   OR
    `ft`        LIKE    '%$nameFA%' OR
    (`ft`        LIKE    '%$nameLA%' AND
        `information`   LIKE    '%$info%'
    )
");

总是当语句中有多个 AND OR AND OR 时添加括号。

考虑:

  • a = 是一只狗
  • b = 吠叫
  • c = 步行

a OR b AND C 为真,当:(你是一只狗,或者你在吠叫)并且你在走路

a OR (b AND C) 在以下情况下为真:你是一只狗,或者(吠叫和行走)

关于php - 按条件获取 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23794530/

相关文章:

php - 安装 PHP SDK Couchbase 报错

php - 通过ajax接收数据,不将数据插入mysql数据库

MySql:选择唯一值

php - mysql 函数 IF(DAY(customers_dob) = DAY(current_date), true, false) AS 今天不适用于 PDO

sql - 如何组合 DISTINCT 和 COUNT 聚合值

php - Move_uploaded_file() 权限

php - 如何编辑已部署的 Laravel 项目

php - 类型检查所有数组元素

mysql - SQL 更新 MySQL 表中一列中 NText 的开头

sql - 关于 B 树索引中不同值的最大数量的简单问题