我试图通过某些条件获取一些行,但它并没有像我想要的那样工作; 请查看我的代码并分享您的想法。
$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%'
");
如您所见,name
和 ft
的输入可能有两个不同的值。
如果 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/