Cytat(kajzur @ 15.04.2009, 16:38:50 )

Ten "potworek" wudaje mi się bardziej poręczniejszy

Istnieje w sumie po to by szybko móc zmienić bazę danych, w zależności od platformy.
Z jego poręcznością właśnie walczysz

Więc czy ja wiem czy jest poręczny.
Pisanie "poręcznych" rzeczy, które robię to co język już ma jest pozbawione sensu. Zainteresuj się PDO.
Cytat(kajzur @ 15.04.2009, 16:38:50 )

Kod który pan określij jako poprawy nadal daje nieskończoną pętlę.
On nie miał działać, tylko miał dać Ci do myślenia.
Spójrz. Żeby ładnie iterować po wynikach zapytania w normalnej sytuacji wykonujesz coś w stylu
while($row = mysql_fetch_row()) no ale ty masz to schowane do "poręcznej" funkcji, która wszystko psuje.
Żeby za każdym obrotem wydostać wiersz musisz iść w kierunku czegoś takiego
while($value = $this->b->rowquery()) ale Twoje funkcja nie tylko zwraca wiersz ale wcześniej wykonuje zapytanie. I tu wszystko poszło na glebę

Przy takim kodzie:
<?php
while($value = $this->b->rowquery("select * from `pages` where `idusr` = '$id'") {
}
?>
dzieje się tak:
1. Sprawdzenie warunku pętli;
2. Wykonanie funkcji rowquery();
3. Wykonanie zapytania
select * from `pages` where `idusr` = '$id';
4. Zwrócenie wyników (a dokładnie pierwszego wiersza) przez
mysql_fetch_row();
5. ...
6. Sprawdzenie warunku pętli;
7. Wykonanie funkcji rowquery();
8. Wykonanie zapytania
select * from `pages` where `idusr` = '$id';
! ! ! źle9. Zwrócenie wyników (a dokładnie pierwszego wiersza) przez
mysql_fetch_row();
10. ...
11. Sprawdzenie warunku pętli;
12. Wykonanie funkcji rowquery();
13. Wykonanie zapytania
select * from `pages` where `idusr` = '$id';
! ! ! źle14. Zwrócenie wyników (a dokładnie pierwszego wiersza) przez
mysql_fetch_row();
15. ...
Rozumiesz teraz co jest błędem? Funkcja
rowquery() nie powinna wykonywać zapytania, bo za każdym razem jest to świeżo wykonane zapytanie stąd zawsze dostajesz pierwszy wiersz ze zbioru wyników.