PHP搜索引擎使用两个输入字段

时间:2015-10-15 05:28:08

标签: php mysql search input

我在空闲时间学习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">&nbsp;</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">&nbsp;</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">&nbsp;</td>
                                       <td>
                                          <input style="width:40px" type="image" src="site_images/q.png" alt="Search" class="tfbutton2" name="submit" value="&gt;" />
                                       </td>
                                       <td width="10">&nbsp;</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)

如果您需要更多信息,请告诉我。

1 个答案:

答案 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