回声不显示第一行


Echo doesn't show first row made

我的任务系统有这个问题,

每当新成员完成他的第一个任务时,它都不会显示。只有第一个之后制作的。

    <?php
            $sql = mysql_query("SELECT * FROM todo WHERE member_id = '".$_SESSION['member_id']."' ORDER by id ASC");
            if (!$sql) {
                die ('invalid query: ' . mysql_error());
            }
                 $rows = mysql_fetch_assoc($sql);
            while($rows = mysql_fetch_array( $sql )) {    
?>

之后,我只是回显出所有内容(任务)。 每一行彼此下。但是第一个任务就是没有出现。它仍然隐藏。

有谁知道如何解决这个问题?

$rows = mysql_fetch_assoc($sql);

这太过分了。 删除它。它获取第一行,因此 while 循环无法获取第一行。

此外,我不会在 while 中使用 mysql_fetch_array,使用 mysql_fetch_assoc 来使用关联数组。

调用$rows = mysql_fetch_assoc($sql); 正在获取第一行,您不需要该行。正在发生的事情是,该行获取第一行,并更新$sql(结果集资源)以指向第二行,然后当您调用 mysql_fetch_array( $sql ) 时,它从第二行开始。