我有一个表格,要求用户只填写至少 1 个(四个)字段。然后,他们可以根据他们的输入提交并获得搜索结果。
问题是,我无法获得一个字符来设置我的变量以匹配任何数据库值。这是我的一些上下文代码;
if (isset($_POST['buildname']) ||
isset($_POST['weapon']) ||
isset($_POST['category']) ||
isset($_POST['id']))
{
if ($_POST['buildname'] == "")
{
$buildname = ".*";
}
if ($_POST['weapon'] == "")
{
$weapon = ".*";
}
if ($_POST['category'] == "")
{
$category = ".*";
}
if ($_POST['id'] == "")
{
$id = ".*";
}
$buildname = sanitizeString($_POST['buildname']);
$weapon = ($_POST['weapon']);
$category = ($_POST['category']);
$id = ($_POST['id']);
$searchstring = "SELECT buildname,weapon,category,id,author FROM weapons " .
"WHERE buildname='$buildname' AND weapon='$weapon' AND category='$category' AND id='$id'";
如您所见,代码查看是否设置了其中一个变量,然后提交表单。如果未设置变量,它会分配一个字符“。*”(我认为它可以匹配任何东西)。然后它查询数据库以匹配任何行。除非我在每个字段中输入正确的条目,否则我不会得到任何结果。
有任何想法吗?
谢谢!