我试图使用PHP显示MySQL数据库中的记录列表,但由于某些原因,我无法获得所需的结果。我的选择框不是一个完整的列表,而是一个空的小框——它们不包含任何选项。我的代码中的错误在哪里?
<?php
$con = mysqli_connect('127.0.0.1', 'root', 'toor', 'monster');
if(mysqli_connect_errno()) {
echo 'Failed to connect to MySQL' . mysqli_connect_errno();
}
function query() {
$result = mysqli_query($con, "SELECT * FROM corporations");
while($row = mysqli_fetch_array($result)) {
echo '<option value="' . $row['name'] . '">' .$row['name']. '</option>';
}
}
?>
<select name='dropdown'>
<?php query() ?>
</select>
变量范围。您在query
函数之外定义连接字符串,因此不能在函数内部使用连接字符串,因为out首先以某种方式传入函数。
这应该有效:
$con = mysqli_connect('127.0.0.1', 'root', 'toor', 'monster');
if (mysqli_connect_errno())
{
echo 'Failed to connect to MySQL' . mysqli_connect_errno();
}
function query($con)
{
$result = mysqli_query($con, "SELECT * FROM corporations");
while ($row = mysqli_fetch_array($result))
{
echo '<option value="' . $row['name'] . '">' . $row['name'] . '</option>';
}
}
query($con);