Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]The script tried to execute a method or access a property of an incomplete object
cornholio666
post 9.06.2006, 14:41:45
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Witam,

Mam taki kawałek kodu:

plik 1
  1. <?php
  2. include "adodb/adodb.inc.php"; 
  3.  
  4.  
  5.  $db = NewADOConnection('mysql');
  6.  $db->Connect("", "", "", "xxx");
  7.  
  8.  
  9.  if (!isset($_SESSION['db']) ) {
  10. $_SESSION['db'] = $db;
  11.  }
  12. ?>


plik2
  1. <?php
  2.  
  3.  include "image.class.php" ;
  4.  
  5.  $db = $_SESSION['db'];
  6.  $image = new Image($db);
  7.  $image->del_foto($_SESSION['uid']);
  8. ?>


kawalek klasy Image
  1. <?php
  2. var $poz;
  3. var $name;
  4.  
  5. function __construct($db){
  6. $this->db = $db;
  7. }
  8.  
  9. function del_foto($user_id){
  10.  
  11. $query = "SELECT pozycja,image FROM aaa WHERE user_id = $user_id";
  12. $result =$this->db->Execute($query);
  13.  
  14.  //dalsza czesc chyba nieistotna
  15. ?>


W plik 1 z poziomu ajaxa chce wywolac metode del_foto, niestety wywala mi blad

Cytat
Fatal error: Image::del_foto() [<a href='function.Image-del-foto'>function.Image-del-foto</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "ADODB_mysql" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in D:\Apache2.2\htdocs\newsy\includes\user\image.class.php on line 15


linijka 15 to

Cytat
$result =$this->db->Execute($query);


Ten post edytował cornholio666 9.06.2006, 15:25:19


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
dr_bonzo
post 9.06.2006, 15:06:03
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Dolacz biblioteke Adodb przed session_start().
Nie przechowujesz chyba obiektow polaczen z baza w sesji??

I popraw tytul, wstaw " The script tried to execute a method or access a property of an incomplete object" lub fragment jak sie nie zmiesci.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
em1X
post 9.06.2006, 15:12:37
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


Zamiast ładowac obiektu do SESSION['db'] sprobuj wrzucic serialize($db_conn) - jednak musisz przedefiniowac wg wlasnych potrzeb metody __sleep oraz __wakeup w klasie ADO (specjalne metody wykonywane na obiektach w trakcie serializacji).

Odsyłam do manuala.

Ten post edytował em1X 9.06.2006, 15:13:30


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
dr_bonzo
post 9.06.2006, 15:16:52
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Mechanizm sesji i tak uzywa serialize(), poza tym obiektow/struktur zdefiniowanych w php nie da sie serializowac (pisze w manualu).


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
em1X
post 9.06.2006, 15:22:39
Post #5





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


@dr_bonzo - a owszem, obiekty się da serializować.

Cytat("manual")
When serializing objects, php will attempt to call the member function __sleep() prior to serialization


Wyjątek:
Cytat("manual")
It is not possible to serialize php built-in objects


Jedynie typu resource nie można.
Cytat("manual")
serialize() handles all types, except the resource-type


Odsyłam do ciekawej lektury smile.gif
Serializacja w OOP

edit:
fakt, te serialize w moim przykładzie jest niepotrzebne tongue.gif

Ten post edytował em1X 9.06.2006, 15:24:15


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
cornholio666
post 9.06.2006, 15:31:36
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


Cytat
Nie przechowujesz chyba obiektow polaczen z baza w sesji??


No własnie chciałem żeby sie połaczyc raz. Ile czasu zabiera polaczenie sie z baza i wybranie bazy?
Bo jak nie duzo to chyba łatwiej bedzie dolaczyc ta biblioteke...

Tak czy tak poczytam o tym co napisał em1X.


--------------------
I need TP for my bunghole!!!

Mój nowy przyjaciel - tytanowa płytka na stałe
------------------------------------------------------
AEGEE, kwiaciarnia rzeszów , notariusz rzeszów, zakład krawiecki rzeszów, paweł jakubowicz
Go to the top of the page
+Quote Post
em1X
post 9.06.2006, 15:43:10
Post #7





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


warto tak kombinować? chyba ze narzucono ci jakas mala ilosc polaczen do bazy.. nie ma tam jakiegos odpowiednika pernamentnego polaczenia? (jak np mysql_pconnect) ?


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
dr_bonzo
post 9.06.2006, 18:57:22
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


em1X
Cytat
poza tym obiektow/struktur zdefiniowanych w php nie da sie serializowac

Cytat
It is not possible to serialize php built-in objects

Zgadza sie -- zle dobralem tlumaczenie "php built-in objects" smile.gif

cornholio666
Cytat
Ile czasu zabiera polaczenie sie z baza i wybranie bazy?

Zmierz -- microtime()


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 21:34