DISTINCT查询不返回值1

时间:2015-04-23 21:16:59

标签: php distinct

我有这个查询从表中返回行,但它返回除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"; 
}

2 个答案:

答案 0 :(得分:2)

看看是否有效:

$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)

答案 1 :(得分:0)

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