Resource type and session problem.

From: Date: Fri, 01 Sep 2000 06:51:56 +0000
Subject: Resource type and session problem.
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-14736@lists.php.net to get a copy of this message
Hi. I have a problem with storing (and retreiving) object that has resource var from session. An example: (wrote by Jouni, I've added a few lines): <? class User_test { var $db_user; function User_test($userbase) { $this->CONF['userbase'] = $userbase; return true; } function eBase() { $userbase = $this -> CONF['userbase']; $this->db_user = pg_connect("dbname=$userbase") or die("Can't connect<br>"); } function exec($query) { echo "exec: gettype(user->db_user): ".gettype($this->db_user) . " ".$this->db_user. "<br>\n"; $result = pg_exec($this->db_user, $query); return $result; } } function sess_start_test() { global $user; if (!is_object($user)) { $user = new User_test('site'); } session_register('user'); $user -> eBase(); $result = $user->exec("select * from people"); echo "sess_start: gettype(user): ". gettype($user) . "<br>\n"; echo "sess_start: gettype(user->db_user): ".gettype($user->db_user) . " ".$user->db_user. "<br>\n"; echo "sess_start: gettype(result): ".gettype($result) ." ".$result. "<br>\n"; } sess_start_test(); echo "main: gettype(user): ".gettype($user) . "<br>\n"; echo serialize($user). "<br>"; echo "main: gettype(user->db_user): ".gettype($user->db_user) ." ".$user->db_user. "<br>\n"; $result = $user->exec("select * from people"); echo "main: gettype(result): ".gettype($result) . " ".$result."<br>\n"; ?> When I visit the page for the first time: exec: gettype(user->db_user): resource Resource id #2 sess_start: gettype(user): object sess_start: gettype(user->db_user): resource Resource id #2 sess_start: gettype(result): resource Resource id #3 main: gettype(user): object O:9:"user_test":2:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}s:7:"db_user";i:0;} main: gettype(user->db_user): resource Resource id #2 exec: gettype(user->db_user): resource Resource id #2 main: gettype(result): resource Resource id #4 But after reloading: (and restoring $user from session) exec: gettype(user->db_user): resource Resource id #2 sess_start: gettype(user): object sess_start: gettype(user->db_user): resource Resource id #2 sess_start: gettype(result): resource Resource id #3 main: gettype(user): object O:9:"user_test":2:{s:4:"CONF";a:1:{s:8:"userbase";s:4:"site";}s:7:"db_user";i:0;} main: gettype(user->db_user): integer 0 exec: gettype(user->db_user): integer 0 Warning: Supplied argument is not a valid PostgreSQL link resource in /www/virtual/site/htdocs/jouni.php on line 19 main: gettype(result): NULL Am I missing something or is it a bug? Przem

« previous php.general (#14736) next »