Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> modyfikacja mysqli i problem z insert_id po commit (problem dotyczy klasy i dziedziczenia)
MatKus
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

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


Witam.
Zrobiłem sobie klase, która dziedziczy po mysqli. jedna z głównych różnic to to, że nie jest automatycznie robiony commit, tylko po wykonaniu serii zapytań.
W skrócie:
  1. class class_db extends mysqli
  2. {
  3. // tu jest konstruktor, który m.in ustawia autocommit(false) i łączy się z bazą
  4. function query($query,$krytyczne=true)
  5. {
  6. $wynik = parent::query($zapytanie);
  7. $this->commit();
  8. return $wynik;
  9. }
  10. }


funkcja query jest trochę bardziej rozbudowana, ale to tak dla uproszczenia to, co najważniejsze.

I teraz jest problem. po wykonaniu $this->commit wartość insert_id jest ustawiana na 0.
żeby jednak nie poprawiać już istniejącego kodu, chciałem stworzyć własną zmienną w mojej klasie o takiej samej nazwie i teraz zaczynają się problemy. Otóż.
zapis taki (gdy nie mam własnej zmiennej insert_id w klasie)
  1. $tmp=$this->insert_id;
  2. $this->commit();
  3. $this->insert_id=$tmp; //Cannot write property


zapis taki (gdy mam własną zmienną insert_id w klasie)
  1. $this->insert_id=parent::insert_id; //Undefined class constant 'insert_id'
  2. $this->commit();


Zależy mi na tym, żeby moja klasa miała insert_id, bo nie chcę przekopywać całego już istniejącego kodu w poszukiwaniu "gdzie jeszcze mogłem to wykorzystywać, żeby zmienić nazwę zmiennej"

Jakiś inny ktoś ma pomysł, jak to można rozwiązać? Bo chyba za cieńki jestem z obiektówki w PHP

Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 21.08.2025 - 18:49