我有这个查询从表中返回行,但它返回除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";
}
答案 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
。所以你总是从跳过第一个记录的第二个记录开始。