OK. The secret, as has been stated here before, is to load the class definitions BEFORE calling session_start(). Thanks to everyone. ""Andy Shellam (Mailing Lists)"" <andy-lists@xxxxxxxxxxxxxx> wrote in message news:3339C510-BE08-4426-9265-BA1965A9ADDF@xxxxxxxxxxxxxxxxx > Hi Stan, > > Are you saving the instance of your class in $_SESSION? > > Class instances can be persisted across sessions, however resources > (i.e. MySQL and other DB connections) cannot. What you need to do, is > every method in your wrapper class that uses the MySQL resource needs > to check if it's a valid resource (is_resource() springs to mind.) > > If it isn't valid, you need to re-create it (using mysql_connect). > > The reason for this is that PHP isn't running between session > requests, so it cannot maintain and monitor the database connection > across requests. > > Andy > > On 9 November2009, at 21:11, Stan wrote: > > > I got as far as creating a class to be the wrapper ... instantiating > > an > > object of that class ... saving the reference in a $_SESSION > > variable ... > > but my object reference seems to be invalid upon the next request > > (in the > > same session) from the client browser. What have I missed? > > > > Thanks, > > Stan > > > > ""Andy Shellam (Mailing Lists)"" <andy-lists@xxxxxxxxxxxxxx> wrote in > > message news:FD8200B0-E18A-4AFD-8FFC-F51080621BB4@xxxxxxxxxxxxxxxxx > >> Hi, > >> > >> I got around this by creating a database wrapper class which gets > >> passed the credentials from the app's config file. An instance of > >> the > >> class is created and saved in the session, and every query to the > >> database runs through the class's Query() wrapper method which checks > >> if the connection is alive and valid - if it isn't, it reconnects it > >> before running the query. > >> > >> Andy > >> > >> On 9 November2009, at 16:46, Stan wrote: > >> > >>> How do I make an Object persistant for the duration of a Session? > >>> Thanks, > >>> "Chris" <dmagick@xxxxxxxxx> wrote in message news:4AB6B16C. > >>> 8@xxxxxxxxxxxx > >>>> Niel Archer wrote: > >>>>>> I'm maintaining a session. I successfully connect to a database > >>> ($DBConnect > >>>>>> = mysql_connect()). I save the connection resource in a session > >>> variable > >>>>>> ($_SESSION['connection'] = $DBConnect) ... to use in subsequent > >>> queries. It > >>>>>> remains valid while the user is on the current page. > >>>>>> print_r($_SESSION['connection']) yields 'Resource id #3', for > >>>>>> instance. > >>>>>> > >>>>>> User browses to a new page ... in the same session. > >>> $_SESSION['$DBConnect'] > >>>>>> no longer references a valid mysql resource. > >>>>>> print_r($_SESSION['connection']) yields '0'. > >>>>>> > >>>>>> Other "ordinary" values saved in $_SESSION variables remain > >>>>>> valid. > >>>>>> > >>>>>> Is there something special about a mysql resource? > >>>>> > >>>>> Not about the resource itself, no. PHP closes connections to a Db > >>>>> when a > >>>>> script ends, unless the connection is persistent, so while the > >>>>> resource > >>>>> IS saved, the connection to which it refers no longer exists. > >>>> > >>>> No resources (whether they are persistent or not) can be stored in > >>>> the > >>>> session. > >>>> > >>>> http://www.php.net/manual/en/intro.session.php > >>>> > >>>> The big pink box has more info. > >>>> > >>>> -- > >>>> Postgresql & php tutorials > >>>> http://www.designmagick.com/ > >>>> > >>> > >>> > >>> > >>> -- > >>> PHP Database Mailing List (http://www.php.net/) > >>> To unsubscribe, visit: http://www.php.net/unsub.php > >>> > >>> > >> > > > > > > > > -- > > PHP Database Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php