phpbar.de logo

Mailinglisten-Archive

[php] Session in MySQL

[php] Session in MySQL

Webmaster KnowOne webmaster_(at)_knowone.de
Thu, 25 Jan 2001 12:20:09 +0100


Hi All!

Ich möchte PHP4-Sessions in einer mysql DB speichern.
Ich habe die Klassen von Ying Zhang von PHPBuilder angepasst.

Das Problem ist, dass die Session korrekt geschrieben wird, jedoch bei
jedem weiteren UPDATE nicht durch neue Daten ergänzt wird, sondern
ersetzt wird. Das heisst jede weitere Seite die eine Variable mit
session_register registriert, überschreibt die bestehenden Daten.

So sieht die session_write aus:

function sess_write($key, $val) {
 global $SESS_DBH, $SESS_LIFE;

 $expiry = time() + $SESS_LIFE;
 $value = addslashes($val);

 $qry = "INSERT INTO sessions VALUES ('$key', $expiry, '$value')";
 $qid = mysql_query($qry, $SESS_DBH);

 if (! $qid) {
  $qry = "UPDATE sessions SET expiry = $expiry, value = '$value' WHERE
sesskey = '$key' AND expiry > " . time();
  $qid = mysql_query($qry, $SESS_DBH);
 }

 return $qid;
}
Also Standrad, wo kann das Problem liegen?

Danke und cu
Nino Martincevic





php::bar PHP Wiki   -   Listenarchive