我正在尝试使用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>
答案 0 :(得分:3)
可变范围。您正在定义query
函数之外的连接字符串,因此您无法在函数内部使用它,而不会以某种方式首先传入函数。
这应该有效:
$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);
答案 1 :(得分:-1)
更改此
while($row = mysqli_fetch_array($result)) {
用这个
while($row = mysqli_fetch_assoc($result)) {