Запрос DISTINCT не возвращает значение 1

У меня есть этот запрос, возвращающий строки из таблицы, но он возвращает все значения, кроме 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

Решение

Посмотрите, работает ли это:

$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)дважды.

2

Другие решения

Я думаю, что 1-й звонок mysqli_fetch_array переместить указатель на первую запись. Тогда вы снова звоните, пока условие снова mysqli_fetch_array, Таким образом, вы всегда начинаете со второй записи, пропуская первую.

0

По вопросам рекламы [email protected]