我试图通过某些条件获取一些行,但它不能按我的意愿工作; 请查看我的代码并分享您的想法。
$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
变量的内容,则应提取行。
答案 0 :(得分:3)
尝试这种方式:
$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%'
)
");
ALWAYS 在语句中有多个AND OR AND时添加括号。
考虑:
一个OR b和C在以下情况下是真的:(你是一只狗,或者你正在吠叫)你正在走路
当你是一只狗,或者(吠叫和行走)时,OR(b和C)是真的