而fetch_array()不打印所有行

时间:2014-10-12 21:04:08

标签: php mysqli

我试图在一段时间内从db打印img路径来打印所有路径,但它只打印第一个路径。

if ($stmt = $mysqli->prepare("  SELECT *
                                FROM user_uploads
                                WHERE userID = ?
                                LIMIT 1")) {
    $stmt->bind_param('i', $_SESSION['user_id']);
    $stmt->execute();

    $result = $stmt->get_result();

    while ($row = $result->fetch_array()) {

        if (!empty($row['description'])) {
            $desc = $row['description'];
        } else {
            $desc = 'Descripción de la imagen';
        }

        echo '
                <div id="form-main">
                    <form class="form" action="" method="post" name="image">
                        <img src="/images/user_uploads/' . $row['image_path'] . '" alt="' . $row['image_name'] . '" height="600" width="600">
                        <p class="text">
                            <input name="name" type="text" class="validate[required,custom[onlyLetter],length[0,100]] feedback-input image" id="image" placeholder="' . $row['image_name'] . '"/>
                        </p>
                        <div class="submit">
                            <input type="submit" value="Cambiar nombre" id="button-blue"/>
                            <div class="ease"></div>
                        </div><br><br><br><br>
                    </form>
                    <form class="form" action="" method="post" name="image">
                        <p class="text">
                            <textarea name="text" type="text" class="validate[required,length[6,300]] feedback-input comment" id="comment" placeholder="' . $desc . '"></textarea>
                        </p>
                        <div class="submit">
                            <input type="submit" value="Cambiar descripción" id="button-blue"/>
                            <div class="ease"></div>
                        </div>
                    </form>
                </div>';
    }
}

在我的测试中,我在表格中保存了4个图像路径。我不明白错误。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您的查询中有一个LIMIT子句,它基本上将结果集限制为仅1条记录。删除它以检索所有记录。

答案 1 :(得分:1)

从您的查询中删除limit,您将结果限制在那里。

并且您的if语句应该如下所示。

if ($stmt = $mysqli->prepare("  SELECT *
                                FROM user_uploads
                                WHERE userID = ?
                                ")) {