2017-06-06 53 views
-3

我试图使用列表框表单来查询数据库,但它没有显示任何内容。这个想法是,我查询了数据库以填写郊区名称的表格,然后选择郊区将再次查询数据库以返回该郊区的公园名称。当我使用搜索表单时,它不会返回任何内容。为什么不是我的表单工作

这是形式:

<p>Select Suburb to search</p> 
    <form method="post" action="suburb_search.php" id="search"> 
    <select> 
    <?php while ($row = $result->fetch_assoc()) { ?> 
    <option value="suburb"> <?php echo $row['suburb']?></option> 
    <?php } 
    } ?> 
    </select> 
    <input type="submit" name="search" value="Search" /> 
    </form> 
    </div> 

这是它应该使用表单结果查询数据库,但它不工作:

<?php 
$searchRequest = False; 
if (isset($_GET['suburb'])){ 
    $search = $_GET['suburb']; 
    $sql2 = "SELECT * FROM park_list WHERE suburb=$search"; 
    $result2 = $db->query($sql2); 
if($message){ 
    echo "<p>$message</>"; 
} else { 
    ?> 
    <div class="form"> 
    <?php 
     while ($row2 = $result2->fetch_assoc()){ 
    ?> 
    <div class="results"> 
    <h2><?php echo $row2['park_name'];?></h2> 
     <?php 
    } 
    } 
    } ?> 
+1

查询很容易受到SQL注入'(郊区= $搜索)' – Option

+0

你'select'元素缺少'name'属性,所以当你提交表格时,不会发送任何内容。而且您可能不希望为每个选项输出相同的值 - 因为这会让选择变得毫无意义。 – CBroe

+0

你似乎是以自己为基础的价值观,这是不正确的。 '