在空白表中提交带有SQL查询结果的PHP表单?
我现在有一个带有表单的页面,我想使用一个变量填充一个基于SQL查询的表。我知道select下拉列表中的值被正确提取,我相信我已经正确实现了bindValue。但是,在提交表单时,表中没有显示任何内容。我知道SQL语句也是正确的,因为我直接在MySQL中运行了它,得到了我想要的结果 这是我目前的代码:在空白表中提交带有SQL查询结果的PHP表单?,php,mysql,forms,Php,Mysql,Forms,我现在有一个带有表单的页面,我想使用一个变量填充一个基于SQL查询的表。我知道select下拉列表中的值被正确提取,我相信我已经正确实现了bindValue。但是,在提交表单时,表中没有显示任何内容。我知道SQL语句也是正确的,因为我直接在MySQL中运行了它,得到了我想要的结果 这是我目前的代码: echo '<form align="center" method="post">'; echo '<select name="flightSelect">'; $fligh
echo '<form align="center" method="post">';
echo '<select name="flightSelect">';
$flightstmt = $conn->query('select * from flight');
$flightstmt->execute();
while($row = $flightstmt->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='".$row['flightnum']."'>";
echo $row['origination']."->".$row['destination'];
echo '</option>';
}
echo '</select>';
echo '<table>';
if (isset($_POST['flightSelect']))
{
$flightSelect = $_POST['flightSelect'];
$flightPassengers = $conn->prepare('select * from passenger where passnum in (select passnum from manifest where flightnum=:flightSelect)');
$flightPassengers->bindValue(':flightSelect', $flightSelect, PDO::PARAM_INT);
$flightPassengers->execute();
while($row = $flightPassengers->fetch(PDO::FETCH_ASSOC))
{
echo '<tr>';
echo '<td>';
echo $row['lastname']." ".$row['firstname'];
echo '</td>';
echo '</tr>';
}
}
echo '</table>';
echo '<input type="submit" name="submit" value="Find passengers on this flight">';
echo '</form>';
提前感谢您的反馈 您需要验证乘客表中是否有您在提交时选择的航班数据 通过删除航班条件调试查询,并查看是否获得航班的结果
其余代码正确。表单缺少操作属性。在Chrome DevTools中打开网络面板,检查HTTP状态代码是否为500
如果是,请检查错误日志,您将至少找到堆栈跟踪。我认为这通常是适用的,但在这种情况下,我只想在表单提交后保持在同一页面上。由于默认情况下,没有指定任何操作意味着只刷新页面,因此我认为这是我想要的选项。您应该尝试打印while循环中的$行,以查看查询是否有效。看起来很可能无法检索回数据,可能是由于PDO解析子查询或其他原因。