簡體   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