У меня есть этот запрос, возвращающий строки из таблицы, но он возвращает все значения, кроме 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)
дважды.
Я думаю, что 1-й звонок mysqli_fetch_array
переместить указатель на первую запись. Тогда вы снова звоните, пока условие снова mysqli_fetch_array
, Таким образом, вы всегда начинаете со второй записи, пропуская первую.