#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
, как только вы дойдете до конца и захотите вернуться к началу … или, в идеале, устраните необходимость повторять результаты дважды.