gpt4 book ai didi

PHP/mySQL 数据未显示在表中

转载 作者:行者123 更新时间:2023-11-30 22:19:05 24 4
gpt4 key购买 nike

我遇到了 MySQL 数据无法通过 PHP 显示的问题
下面是数据应该输出到的代码:

这是 individual_item_page.php

  <?php
if (isset($_GET['suburb']))
{
$_SESSION["dog_park"] = $_GET['suburb'];
}
elseif (isset($_GET['keyword']))
{
$_SESSION["dog_park"] = $_GET['keyword'];
}
else
{
$_SESSION["dog_park"] = $_GET['rating'] ;
}
?>
<h1><?php echo $_SESSION["dog_park"]; ?></h1>
<table border="1" cellspacing="5" cellpadding="5" width="100%">
<thead>
<tr>
<th>Park Name</th>
<th>Street</th>
<th>Suburb</th>
<th>Dog Park Area (m2)</th>
</tr>
</thead>
<tbody>
<?php

$result = $conn->prepare("SELECT * FROM dog_parks.items where suburb = ?");
$result->execute(array($_SESSION['dog_park']));
for($i=0; $row = $result->fetch(); $i++){
?>
<tr>
<td><label><?php echo $row['Park_Name']; ?></label></td>
<td><label><?php echo $row['Street']; ?></label></td>
<td><label><?php echo $row['Suburb']; ?></label></td>
<td><label><?php echo $row['Dog_Park_Area_(m2)']; ?></label></td>

</tr>
<?php } ?>
</tbody>
</table>

下面是代码执行后的输出页面:
(没有数据)  Visual Output

页面的工作原理的基本概述是,
我有 3 种搜索类型,通过
关键字
郊区
评分

如果我想按郊区搜索狗公园,我会从下拉框中选择一个郊区。 (代码在页面底部)

然后,一张表格会显示该郊区/地区的狗狗公园,然后我会点击其中一个显示的公园(超链接),这会将我带到我遇到问题的页面,'individual_item_page.php'

下面是郊区搜索页面的代码,然后有一个指向问题所在的 'individual_item_page.php' 的超链接..

这是郊区搜索页

 <table class="center"> <!-- Creating a table with the class of 'center' -->

<!-- DROP DOWN BOX -->
<?php
$SUBURB = $_POST['suburb'];
$stmt = $conn->prepare("SELECT dog_park_name from items where suburb='$SUBURB'");
$stmt->execute();
for($i=0; $row = $stmt->fetch(); ){
$_SESSION["dog_park".$i] = $row[0];
?>
<!-- DISPLAY RESULTS -->
<tr> <!-- Adding the first table row -->
<th>Dog Park</th> <!-- Adding the second table header -->
</tr>
<tr> <!-- Adding the second table row -->
<td><a href="individual_item_page.php?suburb='<?php echo $row[$i] ?>' " ><?php echo $row[$i] ?></a></td> <!-- Add the second cell on the second row -->
</tr>
<?php }
?>

</table>

这个问题已经困扰我好几个小时了,如有任何帮助,我们将不胜感激。

最佳答案

individual_item_page.php 上,您有几件事正在进行:

  1. 您测试了可能设置为 $_SESSION["dog_park"] 的前 2 个 GET 变量是否存在,但您未能测试第三个 GET 变量,$_GET['rating']

  2. 您在该页面上的 SQL 语句正在搜索郊区,假设 $_SESSION["dog_park"] 被设置为郊区,尽管它可能被设置为 $_GET['keyword']$_GET['rating']。此外,我不确定您为什么将 $_SESSION['dog park'] 绑定(bind)为 $result->execute() 语句中的数组参数。

  3. 在郊区搜索页面上,您正在搜索表格 items,但在个人搜索页面上,您正在搜索 dog_parks.items。这是故意的吗?

重要说明:在您的郊区搜索页面上,您使用了准备好的语句,但手动添加了用户输入的变量而不是绑定(bind)它,这破坏了绑定(bind)参数提供的保护,即 防止将用户输入的数据直接添加到 SQL 语句中。

关于PHP/mySQL 数据未显示在表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37236066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com