为什么我在这个搜索表单中得到错误的结果?

时间:2013-11-12 18:37:03

标签: php mysql

我已经构建了我的第一个php搜索表单,它在mysql存档中搜索。

档案包含名称(Nome),国家(Paese),城市(Città)和区域的项目。

我有5个项目:

  • Iberflora - Valencia - Spagna - Europa
  • Intergift - 马德里 - Spagna - Europa
  • Foodex Japan - Chiba - Giappone - Asia
  • 珠宝中国 - 香港 - 中国 - 亚洲
  • UsFauna - 纽约 - 美国 - Nordamerica

有两个搜索字段,一个用于该区域,另一个用于该国家。

我正在尝试,我无法理解为什么这段代码会产生这些结果:

  • “asia”+“”=> 2结果,正确
  • “europa”+“”=> 2结果,正确
  • “europa”+“spagna”=> 2结果,正确
  • “”+“spagna”=> 2结果,正确

所有其他组合,例如“nordamerica”“”或“asia”“cina”给出0结果,这显然是错误的......

所以这是代码,我希望有人可以帮助我。

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$search_output = "";
if((isset($_POST['zonequery']) && $_POST['zonequery'] != "") || (isset($_POST['countryquery']) && $_POST['countryquery'] != "")){
$zonequery = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['zonequery']);
$countryquery = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['countryquery']);

        $sqlCommand = "SELECT Area, Paese, Città, Nome FROM fiere WHERE Area LIKE '%$zonequery%' AND Paese LIKE '%$countryquery%'";     

        // Connect to your MySQL database here
        // Create connection
        $link=mysqli_connect("127.0.0.1","root","","fiere");

        // Check connection
        if (mysqli_connect_errno($link))
          {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();
          }
        $query = mysqli_query($link, $sqlCommand) or die(mysql_error());
$count = mysqli_num_rows($query);
if($count > 1){
$search_output .= "<hr />$count risultati per <strong>$zonequery</strong> o <strong>$countryquery</strong><hr />";
while($row = mysqli_fetch_array($query)){
   $zone = $row["Area"];
   $country = $row["Paese"];
   $city = $row["Città"];
   $name = $row["Nome"];
   $search_output .= "Fiera: $name - $city - $country - $zone<hr />";
                } // close while
} else {
$search_output = "<hr />0 risultati per <strong>$zonequery</strong> o <strong>$countryquery</strong>";
}
}
?>
<html>
<head>
</head>
<body>
<h2>Ma quante belle fiere Madama Doré</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Cerca Area: 
  <input name="zonequery" type="text" size="44" maxlength="88">
  <br />
Cerca Paese:
  <input name="countryquery" type="text" size="44" maxlength="88">
  <br />
<input name="myBtn" type="submit">
<br />
</form>
<div>
<?php echo $search_output; ?>
</div>
</body>
</html>

编辑:根据要求,这是表格的转储(我希望):

Archive containing a dump of the table in sql format

编辑2:另外,我添加了一行在屏幕上打印实际执行的sql命令。 这就是我得到的,例如,“”+“cina”

So what the heck are those percentage signs?

0 个答案:

没有答案