Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Wstawienie while mysqli_fetch_assoc do ifa powoduje niekończącą się pętle
superbarman
post 3.04.2015, 14:06:20
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.04.2015

Ostrzeżenie: (0%)
-----


zrobiłem sobie kod, teraz aktualnie go skasowałem bo był niekończącą się pętlą, ale jak zrobiłem coś takiego

if($_SESSION['zalogowany'] == 1) {

while ($kto = mysqli_fetch_assoc(tutaj zapytanie do bazy)) {
echo $kto['user_rank']. "<br>";
}

}

to miałem niekończącą się pętlę która zawieszała przeglądarkę, ktoś wie jak to naprawić? ps. dopiero zaczynam uczyc się php.
Go to the top of the page
+Quote Post
nospor
post 3.04.2015, 14:09:43
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: while ($kto = mysqli_fetch_assoc(mysqli_query(...))) {

a:
$res = mysqli_query(...);
while ($kto = mysqli_fetch_assoc($res)) {


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
superbarman
post 3.04.2015, 14:14:03
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.04.2015

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 3.04.2015, 15:09:43 ) *
nie: while ($kto = mysqli_fetch_assoc(mysqli_query(...))) {

a:
$res = mysqli_query(...);
while ($kto = mysqli_fetch_assoc($res)) {

co to za różnica?
Go to the top of the page
+Quote Post
pawwin
post 3.04.2015, 15:05:59
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 3
Dołączył: 2.04.2015

Ostrzeżenie: (0%)
-----


$res = mysqli_query(...); zwraca obiekt po którym iterujesz w pętli while.
Natomiast wykonując $kto = mysqli_fetch_assoc(mysqli_query(...)) odwołujesz się do za każdym razem do pierwszego rekordu i tak w kółko ponieważ za każdym razem zapytanie jest wykonywane na nowo, stąd nieskończona pętla.
Go to the top of the page
+Quote Post
superbarman
post 3.04.2015, 15:06:54
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 2.04.2015

Ostrzeżenie: (0%)
-----


Cytat(pawwin @ 3.04.2015, 16:05:59 ) *
$res = mysqli_query(...); zwraca obiekt po którym iterujesz w pętli while.
Natomiast wykonując $kto = mysqli_fetch_assoc(mysqli_query(...)) odwołujesz się do za każdym razem do pierwszego rekordu i tak w kółko ponieważ za każdym razem zapytanie jest wykonywane na nowo, stąd nieskończona pętla.

dzięki wam, działa. ale byłbym nadal pewien, że to jest to samo biggrin.gif że tak działa zmienna hah tongue.gif dzięki jeszcze raz, problem rozwiązany
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 11:14