查询未显示任何结果


Query not showing any results

我试图使用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);