Thanks Malcolm for the response.
Ok, so the constructor now is:
my %session;
tie %session, 'Apache::Session::MySQL', $sid, {
Handle => $_dbh,
LockHandle => $_dbh
};
$session{'stuff'} = 'is this in the database?';
untie( %session );
But still no data in the a_session:
+----------------------------------+---------------------------------------------------------------------------------------------+
| id | a_session
|
+----------------------------------+---------------------------------------------------------------------------------------------+
| e478ac9a4b1a141cfeb9c784f5fdbe47 |
|
+----------------------------------+---------------------------------------------------------------------------------------------+
I truncated the table between attempts.
I checked the privileges:
+-----------+--------------+------------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+
| Host | Db | User | Select_priv
| Insert_priv | Update_priv | Delete_priv |
Create_priv | Drop_priv | Grant_priv | References_priv
| Index_priv | Alter_priv | Create_tmp_table_priv |
Lock_tables_priv |
+-----------+--------------+------------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+
localhost | db_name | db_user | Y | Y
| Y | Y | Y | Y
| N | Y | Y | Y
| Y | Y |
The only one with 'N' is the Grant_priv, which one
would expect for a non-root account. And nothing in
the apache error.log relating to the database. I
couldn't track down the location of the MySQL binary
files to see if an actual update is being performed.
And I killed and restarted Apache2 just in case.
--- Malcolm J Harwood
<[EMAIL PROTECTED]> wrote:
> On Sunday 18 December 2005 02:31 pm, Michael
> Greenish wrote:
>
> > Note that I set 'stuff' immediately after the
> session
> > is created. I would expect at this point that the
> > database be updated.
>
> That's incorrect. The database is only updated when
> the session is untied
> (usually on going out of scope).
>
> > The session is inserted into the sessions table,
> but
> > the a_session is never updated. I tried using the
> > tied( %session )->make_modified, and I tried
> untie(
> > %session ) when I am done with the request, but
> none
> > of those seem to cause anything to be written in
> the
> > database.
>
> untie %session should work. What happens if you do
> that in your constructor
> after:
>
> > $session{'stuff'} = 'is this in the database?';
>
> If that works, you've got a problem in your code
> somewhere. If it doesn't, the
> it could be a db permissions issue or something. Do
> you get any errors in
> your logs?
>
>
> --
> If you want to kiss the sky
> Better learn how to kneel
> - 'Mysterious Ways' U2
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com