jakis czas temu zacząłem tworzyć swój pierwszy mini-system pod konkretny cel.. (nie jest on tutaj istotny więc go pominę..)
W pierwszej kolejność chcę stworzyć system logowania i rejestracji do serwisu.. W ręcę wpadła mi książka z heliona ( http://pdf.helion.pl/phmspr/phmspr-1.pdf ) z gotowym kodem, który właśnie przerabiam pod swoje wymagania..
Jako iż operacja dodawania, aktualizowania wykonuje za pomocą procedur nie mogę całościowo wykorzystać kod z książki..(tam jest to wykonywane za pomocą zwykłych zapytań).
I teraz pojawił mi się problem przy przeróbce tego kodu:
kod z książki
public function save() { if ($this->uid) { 'PASSWORD = "%s", EMAIL_ADDR = "%s", IS_ACTIVE = %d ' . 'WHERE USER_ID = %d', DB_TBL_PREFIX, $this->isActive, $this->userId); } else { 'EMAIL_ADDR, IS_ACTIVE) VALUES ("%s", "%s", "%s", %d)', DB_TBL_PREFIX, $this->isActive); } }
a przede wszystkim chodzi o fragment $this->uid = mysql_insert_id($GLOBALS['DB']);, dzieki któremu pozyskiwane jest id wstawionego wiersza.. Z racji tego iż używam procedur, nie mogę skorzystać z tego polecenia..
mój kod:
public function save() { if ($this->uid) { //kod } else { //$this->isActive, } }
Próbowałem tak "w normalny" sposób wydobyć to id..
..ale nie wiedzieć czemu, wynik jaki otrzymuje zawsze wynosi 8 :-| (a przy próbie odpalenia tego bezpośrednio w sqlu mam dobre wyniki.)
Myślałem juz nad rozwiązaniem tego poprzed zwrócenie z procedury parametru (czyli tego szukanego id), ale nie wiem za bardzo jak potem w php to obsłużyć i zapisać pod zmienną this->uid; (w sieci znajduje jakieś przykłady z wykorzystaniem PDO ale coś nie mogę tego przerobić pod siebie...)
Co mogę zrobić w takiej syutacji ? Może zauważacie jakieś błędy ?