我一直在绞尽脑汁,似乎无法弄清楚这一点。我甚至不确定正确的方法来要求谷歌获得解决方案的一些想法,所以我问你。我试图做一个“高级搜索”的形式来搜索数据库,但如果一个输入字段为空来忽略它。PHP高级搜索
我的SQL:
$sql = "SELECT * FROM msds WHERE MIS = {$MIS}";
if(!empty($input01)) { $sql .= "AND column01 LIKE '%" . $input01. "%' AND column05 LIKE '%" . $input05. "%'" }
if(!empty($input02)) { $sql .= "OR column02 LIKE '%" . $input02. "%'" }
if(!empty($input03)) { $sql .= "OR column03 LIKE '%" . $input03. "%'" }
if(!empty($input04)) { $sql .= "OR column04 LIKE '%" . $input04. "%'" }
$sql .= "ORDER BY column01";
$sql .= "LIMIT {$per_page} OFFSET {$pagination->offset()}";
感谢您的帮助,您可以提供。
请告诉我,您在将它们连接到查询之前先逃脱这些输入! – Tibor
如果您真的在制作高级搜索表单,那么也许您应该使用'mysql全文搜索'。对于搜索/排名结果,这比'LIKE'更好。 – w00