Schreibzugriff mit PHP/MySQL geht nicht :(



  • Hi,

    hab mir jetzt einen kleinen MySQL-Session Handler für PHP programmiert. Sessions erstellen usw. geht auch, nur in die Datenbank schreiben irgendwie nicht. So sieht meine Session Write-Funktion aus:

    function sess_write($key, $val)
    {
    global $dbhandle, $sesslife;
    
    $expiry = time() + $sesslife;
    $value = addslashes($val);
    
    $befehl = "INSERT INTO sessions VALUES ('$key', $expiry, '$value')";
    $ergebnis = mysql_query($befehl, $dbhandle);
    
    if (!$ergebnis)
    {
    $befehl = "UPDATE sessions SET expiry = $expiry, value = '$value' WHERE sesskey = '$key' AND expiry > ".time();
    $ergebnis = mysql_query($befehl, $dbhandle);
    }
    
    return $ergebnis;
    }
    

    Die Datenbank ist natürlich da und die Spalten der Datenbank heißen natürlich auch expiry, sesskey und value, aber irgendwie ändert sich nichts an der Datenbank beim Schreibzugriff (in phpMyAdmin seh ich nichts). 😞

    Hat jemand eine Ahnung, woran das liegen könnte?

    ChrisM



  • Moment, ich glaub ich hab den Fehler gefunden! Liegt net in der Funktion ... 🙂

    ChrisM



  • das global $dbhandle brauchst du nicht. ergebnis=mysqlquery(ergebnis = mysql_query(befehl);

    wenn du die funktion aufrufst, übernimmt php die aktuelle mysqlverbindung auch in scope von funktionenn



  • Ja, die Connection wird aber wo anders gemacht.
    Es lag ganz einfach daran: Der Login mit dem Schreibzugriff wird in einer eigenen PHP-Datei gemacht und dort hab ich vergessen, meinen MySQL-Session Handler zu setzen. 😃

    ChrisM


Anmelden zum Antworten