这是我的数据库:
这是查询:
SELECT * FROM users
现在我这样做了:
$query = $connection->query($_GET['query']); // SELECT * FROM users
print_r($query->fetch_assoc());
我得到这个作为输出:
阵列( [id] => 3 [username] => karel)
为什么不输出id 4和用户名ccscs?
我什么时候循环:
while($row = $query->fetch_assoc()){
print_r($row);
}
答案 0 :(得分:2)
答案 1 :(得分:2)
这种情况正在发生,因为您没有为查询提供任何订单,因此它会自动获得第一条记录。如果您想要返回最后一条记录,可以通过id desc订购,如下所示
SELECT * FROM users ORDER BY id DESC
如果您需要检索所有记录,则需要循环记录
while($row = $query->fetch_assoc())
{
print_r($row);
}
基于新的操作信息,我不会获取两次,而是一次如下
$fields = array();
while($row = $query->fetch_assoc())
{
print_r($row);
$fields[] = $row;
}
答案 2 :(得分:2)
fetch_assoc()
从结果集中检索单行。 See here
mysqli_result :: fetch_assoc - mysqli_fetch_assoc - 获取结果行 作为关联数组
你应该使用这样的东西:
while($row = $query->fetch_assoc()){
print_r($row);
}