我在空闲时间学习PHP几周,这是我不得不寻求帮助的第一个问题。我在互联网上进行了搜索,但在使用带有两个输入字段的PHP mysql搜索引擎时,却发现我无法完全理解。
我有一个搜索引擎,它有两个输入字段,一个字段用于输入正在寻找的业务类型。第二个字段用于输入正在尝试查找业务的位置。
有人会非常聪明并且非常聪明,请告诉我如何获得:
在MySql表格中搜索business
列的第一个输入字段&
第二个输入字段,用于搜索MySql表中的location
列。
我正在使用FULLTEXT
搜索引擎方法。
以下是表单摘要: (我知道它真的很草率,而且可能不安全,但我打算稍后解决这个问题。)
<form id="tfnewsearch" method="get" action="search.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="476" border="0" cellspacing="0" cellpadding="0">
<tr valign="middle">
<td width="476" class="">
<div id="tfheader2">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="91%">
<table width="472" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="4"> </td>
<td width="139"><input style="width:210px" type="text" id="tfq" class="tftextinput2" name="business" size="20" maxlength="40" value="Business e.g. Insurance" onClick="if(this.value == 'Business e.g. Insurance') this.value='';" /></td>
<td width="5"> </td>
<td width="69"><input style="width:210px" type="text" id="tfq2" class="tftextinput2" name="location" size="20" maxlength="40" value="Location e.g. Hamilton" onClick="if(this.value == 'Location e.g. Hamilton') this.value='';" /></td>
<td width="4"> </td>
<td>
<input style="width:40px" type="image" src="site_images/q.png" alt="Search" class="tfbutton2" name="submit" value=">" />
</td>
<td width="10"> </td>
</tr>
</table>
</td>
</tr>
</table>
<div class="tfclear"></div>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
这是php片段:
$button = @$_GET['submit'];
$search1 = @$_GET['business'];
$search2 = @$_GET['location'];
$strSQL = "SELECT * FROM users WHERE region = $search1 AND city = $search2";
$query = mysqli_query($con, $strSQL);
while ($result = mysqli_fetch_array($query));
if ($result = mysqli_query($con, $strSQL))
$foundnum = mysqli_num_rows($result);
if ($foundnum == 0)
如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
在将变量绑定到查询时,应使用刻度线('
)。
$strSQL = "SELECT * FROM users WHERE region = '$search1' AND city = '$search2'";
为了获得结果,您可以使用mysqli_fetch_array()
获取结果。这是一个例子:
$query = mysqli_query($con, $strSQL); /* EXECUTE FIRST THE QUERY */
while($result = mysqli_fetch_array($query)){
echo $result["column1"]." ".$result["column2"]."<br>"; /* REPLACE NECESSARY COLUMN NAMES */
}
在将*_real_escape_string()
绑定到查询之前,您还应考虑使用SQL injections来阻止某些placeholder
。
$search1 = mysqli_real_escape_string($con, $_GET['business']);
而不是value
的{{1}}代码,您可以使用prepared statement,这样您就不必包含Business e.g. Insurance
代码。
onClick=""
你也应该看看project。