Niestety - skrypt nie wywiera zbyt pozytywnego wrażenia, mimo dosyć sporych możliwości.
Wymienię tylko kilka według mnie najważniejszych błędów. (kolejność losowa)
1. Nie pracujesz z eroor_reporting( E_ALL ) przez co twój kod generuje masę notice - głównie z uwagi na brak " " przy nazwach pól w tablicach.
2. Skrypt drukuje bezpośrednio na ekran komunikaty i błędy - przez co jest o wiele trudniejszy w implementacji i nie pozwala na elastyczne wykorzystanie
3. nie w pełni wykorzystane możliwości oop - właściwie większość metod robi "za dużo" dając niezbyt przejżysty i podatny na błędy kod.
4. sama klasa również wygląda na taką, co "chce za dużo" bez dokłądnego sprecyzowania co ma robić
5. A - i jeszcze jedno. Za niedopuszczalne uważam tworzenie niezależnego połączenia z bazą danych na potrzeby każdej z metod. Pamieąj - łączenie z bazą zadnych to zazwyczaj najbardziej czasochłonna operacja w przypadku pracy z bazą

Oczywiście mógłbym jeszcze powiedzieć, że warto by było się zastosować do standardów kodowania i komentarzy, ale co się będę czepiał