繁体   English   中英

按条件获取SQL行

[英]Fetching SQL rows by conditions

我试图通过一些条件获取一些行,但它不能按我的意愿工作; 请查看我的代码并分享您的想法。

            $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时, 总是添加括号。

考虑:

  • a =是一只狗
  • b =吠叫
  • c =走路

a或b和C在以下情况下是真的:(你是狗,或者你在吠叫)而且你正在走路

当你是一只狗,或者(吠叫和行走)时,OR(b和C)是真的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM