繁体   English   中英

需要帮助搜索我的SQL

[英]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 . "'";

我认为,查询该表的最佳方法是使用“复选框”,“单选按钮”和“选择下拉列表”来缩小搜索范围,因为“最可能” countrygenderhaircolorhairlength是预定义的他们可能不会改变。 如果是“搜索框”,则可以依赖LIKE运算符,但对于您而言,结果将很糟糕。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM