Php 下拉列表中未显示表的第一行

Php 下拉列表中未显示表的第一行,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我正在下拉列表中显示电子邮件,但它没有显示下拉列表中表格的第一封电子邮件,以下是我的代码,请检查: <?php $email = $_POST['email']; $query= mysqli_query($conn," SELECT email FROM register"); $options=""; $result=mysqli_fetch_assoc($query); if(mysqli_num_rows($query) >0){ while($row=mysqli_

我正在下拉列表中显示电子邮件,但它没有显示下拉列表中表格的第一封电子邮件,以下是我的代码,请检查:

<?php
$email = $_POST['email'];
$query= mysqli_query($conn," SELECT email FROM register");
$options="";
$result=mysqli_fetch_assoc($query);
if(mysqli_num_rows($query) >0){
    while($row=mysqli_fetch_array($query)){
        $options.= '<option '.(($row[0]==$email)?'selected="selected"':"").'>'.$row[0].'</option>';
    }
}
?>
<select name="email" id="email">
    <option value="" disabled="" selected="">SELECT EMAIL</option>
    <?php echo $options;?>
</select> 

选择电子邮件

在循环之前获取第一行(即使不使用结果),因此当循环开始时,它将从第二条记录开始,因为指针在第一次调用之后移动到第二条记录

只需删除
$result=mysqli\u fetch\u assoc($query)


删除:
$result=mysqli\u fetch\u assoc($query)它正在删除您的第一条记录

谢谢@Qirel:)谢谢@Ashu:)
$options = "";
if (mysqli_num_rows($query) > 0) {
    while ($row = mysqli_fetch_array($query)) {