【发布时间】:2021-07-18 19:03:16
【问题描述】:
我创建了一个带有下拉元素的表单,该元素读取 MySQL 表以填充选项,当它将表单数据写入不同的字段时,它会写入所选选项的行 ID。当我只使用一个元素时,它可以按预期工作,但是当我复制该元素时,它会引发以下错误:
状态
警告:mysqli::query():无法在第 202 行的 /var/www/jobtrak/register.php 中获取 mysqli
警告:main():无法在第 209 行的 /var/www/jobtrak/register.php 中获取 mysqli
用户类型
警告:mysqli::query():无法在第 217 行的 /var/www/jobtrak/register.php 中获取 mysqli
警告:main():无法在第 224 行的 /var/www/jobtrak/register.php 中获取 mysqli
这是这两个元素的 PHP/HTML 代码。第202行是第4行,209是第11行,217是第19行,224是第26行。
<div class="form-group">
<label>State</label>
<?php
if($r_set1 = $link->query("SELECT * from state")){
echo "<select id=state name=state class=form-control style=width:150px>";
while ($row1 = $r_set1->fetch_assoc()) {
echo "<option value=$row1[id]>$row1[state]</option>";
}
echo "</select>";
}else{
echo $link->error;
}
?>
<span class="invalid-feedback"><?php echo $state_err; ?></span>
</div>
<div class="form-group">
<label>User Type</label>
<?php
if($r_set2 = $link->query("SELECT * from usertype")){
echo "<select id=usertype name=usertype class=form-control style=width:150px>";
while ($row2 = $r_set2->fetch_assoc()) {
echo "<option value=$row2[id]>$row2[type]</option>";
}
echo "</select>";
}else{
echo $link->error;
}
?>
<span class="invalid-feedback"><?php echo $usertype_err; ?></span>
</div>
我看过here,但是我看不到它太早关闭连接,或者我只是完全失明,看不到它。
【问题讨论】:
-
这里有一些合理的答案:stackoverflow.com/questions/19937880/…
-
@BillKarwin 那是我在原始问题中链接到的文章。
-
抱歉,我没有检查。我会通过确保
$link是一个活动连接来调试您的代码。查询SELECT true什么的,检查error status。 -
没有骰子,
$link是活动连接,使用SELECT true确认。仍然存在同样的问题。