我想从mysql表中显示一个组合框数据。下面是代码。 但它无法正常工作。我无法找到错误。任何人都可以帮助我。
<select name="priority">
<?php
$server = 'localhost';
$user = 'root';
$pass = '1amShaw0n';
$db = 'shawon_logindb';
$db = new mysqli($server, $user, $pass, $db) or die("Unable to connect");
$query = "SELECT * FROM members";
$result = mysql_query($query);
while($row=mysql_fetch_assoc($result)){
?>
<option value="<?php echo isset($row["username"])?$row["username"]:''; ?>"> <?php echo isset($row["username"])?$row["username"]:''; ?></option>
<?php } ?>
</select>
请帮我解决问题。
答案 0 :(得分:1)
mysql
和mysqli
冲突。$db
变量中有两个值。删除isset
内的<option>
,因为它仅在有数据时执行。
$conn = new mysqli($server, $user, $pass, $db) or die("Unable to connect");
$query = "SELECT * FROM members";
$result = mysqli_query($conn, $query);
while($row=mysqli_fetch_array($result, MYSQLI_ASSOC))
{
?>
<option value="<?php echo $row['username']; ?>"> <?php echo $row["username"]; ?></option>
<?php
}
?>
答案 1 :(得分:0)
使用以下代码:
$db = new mysqli($server, $user, $pass, $db) or die("Unable to connect");
$query = "SELECT * FROM members";
$result = $db->query($query);
while($row=$result->fetch_assoc()){
?>
<option value="<?php echo isset($row['username']) ? $row['username'] : ''; ?>"><?php echo isset($row["username"]) ? $row["username"] : ''; ?></option>
<?php } ?>
不要混用mysql
&amp; mysqli
函数。