Re: db connections in session variables

From: "Papp Gyozo" <pgerzson(at)freestart(dot)hu>
To: <pgsql-php(at)postgresql(dot)org>
Subject: Re: db connections in session variables
Date: 2001-11-14 09:53:49
Message-ID: 00af01c16d00$a9eb9220$01fdfea9@jaguar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

Beside this overwhelming description, PHP manual states it somewhere, but
I can't recall it exactly where.
Oooh, what fool me! it was discussed in session_register section:
(http://www.php.net/manual/en/function.session-register.php)

"Note: It is not currently possible to register resource variables in a session. For example, you can not create a connection to a database and store the connection id as a session variable and expect the connection to still be valid the next time the session is restored. PHP functions that return a resource are identified by having a return type of resource in their function definitions. A list of functions that return resources are available in the resource types appendix."

BTW, when I worte my first PHP code, this note had not been added yet,
and I also tried to register resources.

----- Original Message -----
From: "Martín Marqués" <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: <pgsql-php(at)postgresql(dot)org>
Sent: Tuesday, November 13, 2001 10:49 PM
Subject: Re: [PHP] db connections in session variables

On Mar 13 Nov 2001 17:36, you wrote:
> I was wondering if it were possible to store a database connection in a
> session variable.

No! Because the persistent connection gets opened with one child, and when
you go for the next page you have very high probabilities (unless you have a
very poor http configuration) of caching a new child, and not the old one.

The problem comes here, just because the pconnect was done against the old
child, and the new one doesn't know a thing about the pconnect you did
before, so you'll allways (or almost always) an error of "wrong connection
id".

Hope I was clear.

> I have tried these 2 methods:
>
> $conn = pg_pconnect("server", "5432", "db");
> session_start();
> session_register('conn');
>
> $conn = pg_pconnect("server", "5432", "db");
> session_id($conn);
> session_start();
>
> both of them register a session with the value of "Resource id #1" but
> don't act as a db connection. I am just trying to clean up some code so I
> don't have to do a new database connection on every page that I create.
>
> Then if you are able to do this, where would you close the connection?
>
> I guess in ASP, it is possible to store db connections in a session
> variable. I have never done it there either but someone told me that you
> can.
>
> Tim.
>
> Timothy P. Maguire
> Web Developer II
> Harte-Hanks
> 978 436 3325
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org

--
Porqué usar una base de datos relacional cualquiera,
si podés usar PostgreSQL?
-----------------------------------------------------------------
Martín Marqués | mmarques(at)unl(dot)edu(dot)ar
Programador, Administrador, DBA | Centro de Telematica
Universidad Nacional
del Litoral
-----------------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org

In response to

Browse pgsql-php by date

  From Date Subject
Next Message Steve Wolfe 2001-11-15 21:39:50 Re: [PHP] Re: SQL Load Balancer for PostgreSQL
Previous Message Martín Marqués 2001-11-13 21:49:41 Re: db connections in session variables