Probleme mit Php/MySql Update funktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Php/MySql Update funktion

    Hallo,

    Ich werde noch wahnsinnig. Ich bekomme die folgende Funktion nicht zum laufen.

    function update_session_id() {
    $sql = "UPDATE users SET UserSession = NULL WHERE UserSession = '" .session_id(). "'";
    //echo $sql;
    if ( mysql_query($sql) ) {
    exit(mysql_error());
    }

    Das MySql-Update Statement schreibt nichts in die Datenbank, es gibt allerdings auch keine Fehlermeldung.

    Wenn ich echo $sql ausführen lasse, dann steht da:

    [COLOR=Blue]UPDATE users SET UserSession = NULL WHERE UserSession = ''[/COLOR]

    Es scheint also mal wieder an den Hochkommata zu liegen. Aber wie muss es richtig lauten ? Ich habe schon stundenlang diverse Kombinationen probiert, ohne Erfolg.

  • #2
    Hallo,

    das sieht richtig aus, aber bedeutet, dass es keine Session gibt, darum wird nur ein leerer String zurückgegeben. Hast du am Anfang des Scripts session_start() vergessen?

    Edit: eins habe ich erst übersehen: das if-Statement scheint mir widersinnig. Dort fehlt imho der !-Operator.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 25.09.2009, 17:03.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hi,
      nein session_start () wird ausgeführt und die Session-ID wird auch korrekt in die Datenbank geschrieben. Nur der Update-Befehl tut es dann nicht mehr.

      Auf die Idee das dass Problem an dem Aufruf von session_id() liegen könnte bin ich noch gar nicht gekommen. Da bleibt dann die Frage warum die ID plötzlich "verloren" geht.

      Das mit dem !-Operator stimmt. Klassischer Bug. Danke für den Tipp.

      Kommentar


      • #4
        Zitat von Kiba71 Beitrag anzeigen
        Hi,
        nein session_start () wird ausgeführt und die Session-ID wird auch korrekt in die Datenbank geschrieben. Nur der Update-Befehl tut es dann nicht mehr.
        Und das ist dasselbe Script oder zwei verschiedene? Der session_start-Aufruf muss wirklich in jedem einzelnen Script stehen, dass auch nur im entferntesten auf die Session zugreift.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Zitat von AmicaNoctis Beitrag anzeigen
          Und das ist dasselbe Script oder zwei verschiedene? Der session_start-Aufruf muss wirklich in jedem einzelnen Script stehen, dass auch nur im entferntesten auf die Session zugreift.
          Ja manchmal sieht man den Wald vor lauter Bäumen nicht. Ich hatte tatsächlich den session_start Befehl in einem Skript vergessen.

          Jetzt funktioniert es wie es soll. Vielen Dank dass Du mir ein paar Stunden Fehlersuche erspart hast.

          Kommentar

          Lädt...
          X