DISTINCT 查询未返回值 1

DISTINCT query not returning value 1

我有此查询返回来自 table 的行,但它 returns 除了 1 以外的所有值。

输出例如:2、3、5、20、22 等,但 id 输出 1 永远不会存在,但我希望它存在。

我不明白为什么?

$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));

$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if ($row) {
   while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        echo $row['driver_profileId'] . '<br />';
   }
}
else {
      echo "noRow"; 
}

看看这是否有效:

$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));

if ($result ) {
   while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
      echo $row['driver_profileId'] . '<br />';
   }
}
else {
  echo "noRow"; 
}

您使用了$row = mysqli_fetch_array($result, MYSQLI_ASSOC)两次。

我认为第一次调用 mysqli_fetch_array 将记录指针移动到第一个记录。然后你再次调用 while 条件 mysqli_fetch_array。所以你总是从第二条记录开始,跳过第一条。