ID:               31685
 User updated by:  rich at tallman dot org
 Reported By:      rich at tallman dot org
-Status:           Bogus
+Status:           Open
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      4.3.9
 New Comment:

I am not suggesting that database resource should be valid later in a
session. I am simply pointing out that the value is corrupted within
the execution of the same page. This is definitely a bug.

You can choose not to fix it, but perhaps then you can document that
the $_SESSION variable is not ACTUALLY superglobal, and may not retain
values between included pages.


Previous Comments:
------------------------------------------------------------------------

[2005-01-25 14:30:31] [EMAIL PROTECTED]

DB connection resources can not be passed along within sessions ->
We're not gonna 'fix' anything here.


------------------------------------------------------------------------

[2005-01-25 09:11:16] rich at tallman dot org

Description:
------------
pg_last_notice() fails in very specific circumstances. The failure
seems to happen under only a very specific set of circumstances.

- The $_SESSION superglobal is used to hold a db connection resource.
- There is an active session.
- The database connection is made in an included file.

Reproduce code:
---------------
<? // filename - thisworks.php
session_start();
$_SESSION["dbconn"]=pg_connect("dbname=meridican user=postgres
password=");
$result=pg_query($_SESSION["dbconn"],$sql);
echo pg_last_notice($_SESSION["dbconn"]); ?>

<? // filename - thisdoesntwork.php
session_start();
include("dbconn.php");
$result=pg_query($_SESSION["dbconn"],$sql);
echo pg_last_notice($_SESSION["dbconn"]); ?>

<? // filename - dbconn.php
$_SESSION["dbconn"]=pg_connect("dbname=meridican user=postgres
password="); ?>


Expected result:
----------------
In the example, the output from thisworks.php is the notice raised by
postgres. The same result could be expected from the nearly identical
code run in thisdoesntwork.php.

Actual result:
--------------
In actuality, thisdoesntwork.php outputs a blank. 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=31685&edit=1

Reply via email to