我的下拉列表显示为空.我不确定我的查询是否返回任何记录.如何确定我的查询是否返回任何结果?这是我的代码.请告诉我.我坚持这个问题.
<?php $link = mysql_connect("localhost", "root", "root");
if (!$link) { die('Could not connect: ' . mysql_error()); }
echo 'Connected successfully';
mysql_select_db("mydb");
$sql = "SELECT state_id, state_code FROM states";
$result = mysql_query($sql) or die(mysql_error());
?>
<p>
<select name="vers">
<?
while($row = mysql_fetch_array($result)){
echo "<option value=\"".$row['state_id']."\">".$row["state_code"]."</option>";
}
?>
</select>
<?
mysql_close($link);
?>
Run Code Online (Sandbox Code Playgroud)
测试与查询的成功或失败if (!$result),并使用mysql_num_rows()来验证返回的行数.而不是die(),您可以向用户显示更好的错误,并可能呈现不同的HTML,而不是突然退出脚本.
mysql_select_db("mydb");
$sql = "SELECT state_id, state_code FROM states";
$result = mysql_query($sql);
// Instead of die(), use a construct like this for better error handling on your page
if (!$result) {
// query error
}
if (mysql_num_rows($result) === 0) {
// No rows returned
}
else {
// Success! Populate your <select> with <option>s
while($row = mysql_fetch_array($result)){
echo "<option value=\"".$row['state_id']."\">".$row["state_code"]."</option>";
}
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
添加一个空的默认选项.确保其value属性不是您要从数据库中检索的属性.
<select name="vers">
<option value='-1'>Choose an option...</option>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1915 次 |
| 最近记录: |