使用以下php代码我试图从mysql数据库填充一个dropbox:
enter code here
<?php
$mysqli = new mysqli('localhost', 'root', '', 'testdb');
if (mysqli_connect_errno())
{
die('Unable to connect!');
}
else
{
$query = 'SELECT * FROM language';
if ($result = $mysqli->query($query))
{
if ($result->num_rows > 0)
{
?>
<p> Select a language
<select id="selectLanguage">
<option value="">select</option>
<?php
while($row = $result->fetch_assoc())
{
?>
<option value='<?php echo $row[0]; ?>'><?php echo $row[1]; ?></option>
<?php
}
?>
</select>
</p>
<p id="result"></p>
<?php
}
else
{
echo 'No records found!';
}
$result->close();
}
else
{
echo 'Error in query: $query. '.$mysqli->error;
}
}
$mysqli->close();
?>
我没有收到任何错误,但是此消息填充的dropbox而不是存储在数据库中的单元格值: (!)注意:未定义的偏移量:第40行的C:\ wamp \ test \ index.ph中的0调用堆栈#TimeMemoryFunctionLocation 10.0009684656 {main}()... \ index.php:0'&gt; 能告诉我为什么会这样吗?
答案 0 :(得分:2)
你的问题在这里:
<option value='<?php echo $row[0]; ?>'><?php echo $row[1]; ?></option>
使用关联的数组获取数据。不是索引数组。
while($row = $result->fetch_assoc())
您收到该错误消息,因为索引“1”不存在。