Re: php sessions using mysql (or any db)

From: Date: Fri, 15 Nov 2002 21:58:49 +0000
Subject: Re: php sessions using mysql (or any db)
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-23408@lists.php.net to get a copy of this message
> CREATE TABLE SessionsTable ( > SID varchar(32) NOT NULL default '', This doesn't need to be a varchar. The sid will always be 32 chars, so make it a char(32) > expiration int(11) NOT NULL default '0', I would suggest using a "timestamp" type here so MySQL will handle updating it for you automatically. > function mysql_session_open($session_path, $session_name) { > > mysql_pconnect("localhost", "root", "") > or die("Can't connect to MySQL server! "); > > mysql_select_db("globalDB") > or die("Can't select MySQL sessions database"); > > } // end mysql_session_open() You need to return true; at the end of this. > function mysql_session_close() { > > return 1; No, use return true; > function mysql_session_select($SID) { > > GLOBAL $sess_db; > GLOBAL $sess_table; > > $query = "SELECT value FROM $sess_table > WHERE SID = '$SID' AND > expiration > ". time(); > > $result = mysql_query($query); > > } // end mysql_session_select() Uh, you need to return the actual value here or an empty string on an error. > function mysql_session_write($SID,$value) { > > GLOBAL $sess_db; > GLOBAL $sess_table; > GLOBAL $lifetime; > > $expiration = time() + $lifetime; > > $query = "INSERT INTO $sess_table > VALUES('$SID', '$expiration', '$value')"; > > $result = mysql_query($query); > > if (! $result) : > > $query = "UPDATE $sess_table SET > expiration = '$expiration', > value = '$value' WHERE > SID = '$SID' AND expiration >". time(); > $result = mysql_query($query); > > endif; > > } // end mysql_session_write() Again, you *must* return true; on a sucessful write. > function mysql_session_destroy($sessionID) { > > GLOBAL $sess_table; > > $query = "DELETE FROM $sess_table > WHERE SID = '$sessionID'"; > $result = mysql_query($query); > > } // end mysql_session_destroy() return true; -Rasmus

« previous php.db (#23408) next »