我想根据mySQL数据库创建一个选择列表,但是当使用mysqli_fetch_array时我得到空结果。选项编号是正确的,但都是空的。
以下是代码:
$rows = mysqli_num_rows($result);
$self = $_SERVER['PHP_SELF'];
<div id='editUser'>
<span class='ACtitle'>Edit Users</span>
<div id='addField'>
<form action="<?php $self ?>" method="post">
<select name="target" size="1">
<option value='none'>Select user you wish to edit.</option>
<?php
for($ii = 0; $ii <= $rows; $ii++)
{
$sqlSta3 = "select name from 'users'";
$result2 = mysqli_query($database, $sqlSta3);
$nameArray = mysqli_fetch_array($result2);
print_r($nameArray);
$tableName = $nameArray['name'];
print "<option value='$tableName'> $tableName </option>";
}
?>
</select>
<input type="text" name="updateName"
</form>
</div>
</div>
答案 0 :(得分:2)
您需要将mysql_fetch_array
替换为mysql_fetch_assoc
才能使用您的方法。
mysql_fetch_array
返回类似[0] => "data",[1] => "data"
的数组
mysql_fetch_assoc
返回包含表['username'] => 'data',['fname'] => "data";
这是固定代码:
$rows = mysqli_num_rows($result);
$self = $_SERVER['PHP_SELF'];
<div id='editUser'>
<span class='ACtitle'>Edit Users</span>
<div id='addField'>
<form action="<?php $self ?>" method="post">
<select name="target" size="1">
<option value='none'>Select user you wish to edit.</option>
<?php
for($ii = 0; $ii <= $rows; $ii++)
{
$sqlSta3 = "SELECT name From users ";
$result2 = mysqli_query($database, $sqlSta3);
$nameArray = mysqli_fetch_assoc($result2);
print_r($nameArray);
$tableName = $nameArray['name'];
print "<option value='$tableName'> $tableName </option>";
}
?>
</select>
<input type="text" name="updateName"
</form>
</div>
</div>