[英]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%'
");
如您所见, 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时, 总是添加括号。
考虑:
a或b和C在以下情况下是真的:(你是狗,或者你在吠叫)而且你正在走路
当你是一只狗,或者(吠叫和行走)时,OR(b和C)是真的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.