[英]Need help searching my sql
我需要一个脚本的帮助,该脚本可以在同一表中搜索8个不同的字段,但是如果没有找到一个或三个参数,它也希望给出结果。 我正在使用PHP和MySql,并且已经尝试了很长时间了,现在我在这里向您求助。 我同时使用选择框和tic框。 你能帮我这个忙吗?
Select * FROM mymembers WHERE
country = $country AND
gender = $gender AND
haircolor = $haircolor AND
hairlength = $hairlength AND
当其中一个没有结果时,问题就来了。 请帮助卡斯滕
使用PHP构建SQL。 检查变量是否不为空,然后添加它们。
例如
$sql = 'Select * FROM mymembers WHERE ';
if (!empty($country)) $sql .= 'country = '.$country;
确保转义您在SQL中使用的任何变量以防止注入。
您提到过: 如果没有为一个或三个参数保留,希望它也给出结果
在这种情况下,您需要使用OR
条件运算符。
码:
$query = "SELECT * FROM mymembers WHERE
country = '" . $country . "' OR
gender = '" . $gender . "' OR
haircolor = '" . $haircolor . "' OR
hairlength = '" . $hairlength . "'";
我认为,查询该表的最佳方法是使用“复选框”,“单选按钮”和“选择下拉列表”来缩小搜索范围,因为“最可能” country
, gender
, haircolor
和hairlength
是预定义的他们可能不会改变。 如果是“搜索框”,则可以依赖LIKE
运算符,但对于您而言,结果将很糟糕。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.