![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
Post
#2
|
|
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 12:36 |