我试图使用列表框表单来查询数据库,但它没有显示任何内容。这个想法是,我查询了数据库以填写郊区名称的表格,然后选择郊区将再次查询数据库以返回该郊区的公园名称。当我使用搜索表单时,它不会返回任何内容。为什么不是我的表单工作
这是形式:
<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
}
}
} ?>
查询很容易受到SQL注入'(郊区= $搜索)' – Option
你'select'元素缺少'name'属性,所以当你提交表格时,不会发送任何内容。而且您可能不希望为每个选项输出相同的值 - 因为这会让选择变得毫无意义。 – CBroe
你似乎是以自己为基础的价值观,这是不正确的。 '