![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Czołem!
Kadziłem sobie prostą aplikację, wszystko było ok do momentu, gdy nie wywołałem dwóch zapytań pod sobą: przykładowo:
W powyższym przykładzie $db->query zwraca obiekt, którego jedna ze zmiennych zawiera zasób zwracany przez mysql_query" title="Zobacz w manualu PHP" target="_manual. Wyciągnięte dane są wykorzystywane w innych fragmentach klasy, oczywiście - zwalniane, gdy nie są już potrzebne. W czym tkwi problem: otóż, gdy wykonywane jest jedno z powyższych zapytań - jest ok. Jednak gdy wykonują się oba, zasób drugiego jest prawidłowy (resource # of mysql), natomiast pierwsze - resource # unknown. I zonk, gdyż nie wiem kompletnie, o co chodzi... Gdy wykonam drugie zapytanie ze zwracaniem danych jako zmiennej lokalnej, gdzieś tam dalej, jest ok. Treść zapytań jest prawidłowa. Znalazłem obejście (wynik zapytania jako zmienna lokalna), ale rozwiązania nie znalazłem... Czy ktoś spotkał się z podobnym problemem? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Wiesz co, u mnie, jak sobie przed chwilką spłodziłem taki teścik:
class a { public $x; public $y; public function __construct() { $query_x = "SELECT * FROM users"; $query_y = "SELECT * FROM categories"; $this->x = mysql_query($query_x); $this->y = mysql_query($query_y); echo "<pre>"; var_dump($this->x); echo "</pre>"; echo "<pre>"; var_dump($this->y); echo "</pre>"; }// } $o = new a(); Wynikiem jest : resource(3) of type (mysql result) resource(4) of type (mysql result) Możesz podać więcej szczegółów? Ten post edytował blooregard 5.10.2008, 20:39:31 -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ja mam coś podobnego, ale inaczej wywoływane
$db->query() zwraca coś takiego:
Platforma, Windows XP, Apache2, PHP 5.2.6. Po zmianie z private na public dla $resource w dbResult i var_dump" title="Zobacz w manualu PHP" target="_manual na tą zmienną zwracał odpowiednio resource of unknown, za drugim razem of mysql... Nie wiem, jakich jeszcze szczegółów byś potrzebował... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#4
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
qcze, dziwne. Przbudowałem kod, żeby było jak u Ciebie:
Kod class a { private $x = null; public function __construct($res) { $this->x = $res; echo "<pre>"; var_dump($this->x); echo "</pre>"; }// } function a($query) { return new a(mysql_query($query)); } var_dump(a("SELECT * FROM users")); i nadal mam: dla private $x: object(a)#1 (1) { ["x:private"]=> resource(3) of type (mysql result) } dla public $x: object(a)#1 (1) { ["x"]=> resource(3) of type (mysql result) } Platforma: Debian 4.0 Etch Apache2 PHP: 5.2.0-8+etch11 (cli) (built: May 10 2008 10:46:24) Copyright © 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright © 1998-2006 Zend Technologies -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 00:07 |