$result недоступен после mysql_fetch_assoc($result), почему

#php #mysql #database

#php #mysql #База данных

Вопрос:

я получаю данные из sql, затем запускаю while ($list = mysql_fetch_assoc ($ result)) { … }

затем я пытаюсь сделать то же самое, но результат не дает ничего похожего на пустой, очищает ли использование mysql_fetch_assoc() переменную $request?

Ответ №1:

Функция сохраняет счетчик, поэтому, конечно, вы не можете продолжать использовать его, когда он дошел до конца. Есть ли особая причина для повторного выполнения этого дважды? В любом случае:

 mysql_data_seek($request, 0);
  

Это то, что вам нужно перед вторым циклом.

Ответ №2:

Вы достигли конца восстановления $ result с помощью while цикла. Чтобы решить эту проблему, перемотайте указатель назад в положение 0, когда вы захотите снова использовать свой ресурс… посмотрите на функцию mysql_data_seek() для получения дополнительной информации.

Ответ №3:

mysql_fetch_assoc само по себе не знает, когда вы это делаете, и не вызывает его в цикле while. Он волшебным образом не сбрасывается в начало результирующего набора, когда вы используете его в отдельном цикле.

Установите его в начало результирующего набора с помощью mysql_data_seek , как только вы дойдете до конца и захотите вернуться к началу … или, в идеале, устраните необходимость повторять результаты дважды.