PHP的第一个结果丢失

时间:2018-10-27 12:11:25

标签: php database

嗨,我从链接中检索数据库的结果,但是没有显示第一个记录,但是所有其他记录都显示了。我不知道为什么如果我将SQL更改为DESC,则我的第一个结果会显示,但最后一个不会显示。

我做错了/其他人也遇到过类似的问题吗?

<?php
    require_once("../db/db_connection.php");
    $sql = $db->prepare("SELECT * FROM articles WHERE campname=? ORDER BY order_ref ASC");

    $sql->bind_param("s",$_GET["campname"]);            
    $sql->execute();
    $result = $sql->get_result();
    if ($result->num_rows > 0) {        
        $row = $result->fetch_assoc();
    }
    $db->close();
?>

            if ($result->num_rows > 0) {        
                while($row = $result->fetch_assoc()) {
        ?>  
        <?php echo $row["title"]; ?>
        <?php
                }
            }

        ?>

1 个答案:

答案 0 :(得分:1)

进入循环以显示数据之前,请致电fetch_assoc(),删除以下几行...

if ($result->num_rows > 0) {        
    $row = $result->fetch_assoc();
}
$db->close();

所以您的代码应类似于...

$sql = $db->prepare("SELECT * FROM articles WHERE campname=? ORDER BY order_ref ASC");

$sql->bind_param("s",$_GET["campname"]);            
$sql->execute();
$result = $sql->get_result();

if ($result->num_rows > 0) {        
    while($row = $result->fetch_assoc()) {
        ?>  
        <?php echo $row["title"]; ?>
        <?php
    }
}