为什么我的SELECT *语句不选择第一行?

时间:2019-03-19 07:49:29

标签: php mysql sql

我有3行的数据库表products,但是仅输出最后两行。我不知道我做错了什么,但这是代码:

$q = "SELECT * FROM products";
    $query = mysqli_query($dbc, $q);
    $fetched_array = mysqli_fetch_array($query, MYSQLI_ASSOC);
    while($row = mysqli_fetch_array($query)) {
        echo $row\['name'\];
    }

即使var_dump()也仅显示最后两个产品,而没有显示所有3个产品(包括第一行)。

“ iPhone 7”不是outputted

3 个答案:

答案 0 :(得分:3)

尝试像这样简单地删除开头的mysqli_fetch_array

$q = "SELECT * FROM products";
$query = mysqli_query($dbc, $q);

while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    echo $row['name'];
}

答案 1 :(得分:1)

您使用提取动作2次。使用它:

$q = "SELECT * FROM products";
$query = mysqli_query($dbc, $q);
while($row = mysqli_fetch_array($query)) {
    echo $row['name'];
}

答案 2 :(得分:1)

尝试一下

.fs2 {
margin:0;
}