数据库显示的结果不正确


incorrect result display from database

我有一个数据库表,有4条记录,其中列_id自动递增。当我运行查询以获取所有记录时,它工作,但它不回显出所有的id,它只指向第一行并回显它四次。我正在使用PHP和mysql。这是我的代码

查询 的代码
$sql = "SELECT * FROM att_table";
$query = $conn->query($sql);
$result = $query->fetch_assoc();

显示代码

do{
    echo result['_id'];
}while($query->fetch_assoc());

输出1111而不是1234。请问出什么事了?

您正在获取4个结果中的每一个,因此它循环适当的次数;但是你只将获取的结果分配给$result一次,所以这是唯一的_id值被回显

do{
    echo $result['_id'];
}while($result = $query->fetch_assoc())

你也可以使用foreach循环:

$sql = "SELECT * FROM att_table";
$query = $conn->query($sql);
$result = $query->fetch_assoc();
foreach($result as $data){
    echo $data['_id'];
}