Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] Wyświetlanie jednego wyniku w nieskończoność?
Forum PHP.pl > Forum > PHP
Xayan
Witam. Mam coś takiego:

  1. while($row = mysql_fetch_assoc(mysql_query('SELECT * FROM gry WHERE type="'.$_GET['type'].'"'))) {
  2. var_dump($row);
  3. }


Zapytanie jest dobrze sformułowane, jednak wypluwa mi strukturę $row w nieskończoność. Dlaczego?
fr33d0m
Może tak??
  1. while($row = mysql_fetch_assoc(mysql_query("SELECT * FROM gry WHERE type='".$_GET['type']."' LIMIT 1")))


edit: wybacz, nie zrozumiałem dobrze pytania winksmiley.jpg
chociaż zawsze możesz pominąć while() i zrobić limit do 9999999 - to teoretycznie powinno załatwić Twój problem biggrin.gif hehe
Xayan
Posiadając jeden rekord nie trzeba się bawić z pętlą. Ja chcę wyświetlić wiele rekordów.

@Edit:

Hm... zauważyłem coś bardzo dziwnego.

  1. var_dump(mysql_fetch_assoc(mysql_query('SELECT screen FROM gry')));


Cytat
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\java.php on line 40


Istnieje kolumna screen, zapytanie powinno zwracać 3 rekordy...
krowal
Tak jak masz teraz to się nie dziwię że pętla wywołuje się w nieskończoność bo ($row = mysql...) zawsze zwróci true i while będzie krążył dopóki nie dostanie false.
Powinno być tak:
  1. $rs = mysql_query('SELECT * FROM gry WHERE type="'.$_GET['type'].'"');
  2. while($row = mysql_fetch_assoc($rs)) {
  3. var_dump($row);
  4. }
bmL
Gwoli ścisłości "$row = mysql." nie zwraca true tylko zawartość $row, w tym przypadku tablicę asocjacyjną.
A skrypt się zapętla ponieważ za każdym razem zapytanie jest wykonywane od nowa no i zwracany będzie 1 rekord. Dla tego trzeba to zrobić tak jak napisał krowal.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.