我想在下拉菜单中显示数据库中的表格。我已经建立了连接,进行了查询,但下拉列表中没有显示任何内容。任何人都可以告诉我原因。
下面是我的代码:
<?php
include ('db_connect.php');
$sql ="select ins_name from institution";
$result = mysqli_query($conn,$sql);
echo "<select name='ins_name'>";
while ($row = mysql_fetch_array($result)){
echo "<option value='".$row['ins_name']."'>"."</option>";
}
echo "</select>"
?>
答案 0 :(得分:0)
首先,您将mysql_*
与mysqli_*
扩展名混合。建议仅使用mysqli_*
而不是deprecated mysql_*
。
假设您使用mysqli_*
扩展名( db_connect.php )建立与数据库的连接:
$conn = new mysqli("Host", "Username", "Password", "Database"); /* REPLACE NECESSARY PARAMETERS */
/* CHECK CONNECTION */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
然后你的主文件:
<?php
include ('db_connect.php');
echo '<select name="ins_name">';
$stmt = $con->prepare("SELECT ins_name FROM institution"); /* PREPARE QUERY */
$stmt->execute(); /* EXECUTE QUERY */
$stmt->bind_result($insname); /* BIND RESULT TO THIS VARIABLE */
while($stmt->fetch()){ /* GET ALL RESULT */
echo '<option value="'.$insname.'">'.$insname.'</option>';
} /* END OF WHILE LOOP */
$stmt->close(); /* CLOSE STATEMENT */
echo '</select>';
?>
此外,您未在示例中的<option>
内设置数据。您可以在上面看到我们如何在<option></option>
答案 1 :(得分:0)
使用mysqli_fetch_array()
,您需要在选项标记之间写名称。
例如<option value="1">Test</option>
<?php
include ('db_connect.php');
$sql ="select ins_name from institution";
$result = mysqli_query($conn,$sql);
echo "<select name='ins_name'>";
while ($row = mysqli_fetch_array($result)){
echo "<option value='".$row['ins_name']."'>".$row['ins_name']."</option>";
}
echo "</select>"
?>
答案 2 :(得分:0)
您使用的是mysql_ *函数,但您不应该:Why shouldn't I use mysql_* functions in PHP?
您正在使用mysqli_query
和mysql_fetch_array
。请改为使用$result->fetch_array
:http://php.net/manual/en/mysqli-result.fetch-array.php
答案 3 :(得分:0)
你需要使用mysqli。因此,您必须在选项中显示值
<?php
include ('db_connect.php');
$sql = "select ins_name from institution";
$result = mysqli_query($conn,$sql);
echo "<select name='ins_name'>";
while ($row = mysqli_fetch_array($result)){
$insName = $row['ins_name'];
echo "<option value='".$insName."'>".$insName."</option>";
}
echo "</select>"
?>