• Hallo zusammen,

    habe hier gerade ein Problem. Und zwar habe ich folgendes Query, das auf meinem lokalen Testserver funktioniert und richtig das berechnete Datum auf Grundlage von now() einträgt.

    SQL
    UPDATE myTABLE SET my_Date = now()+(20*60) WHERE id=1

    Auf dem Live Server funktioniert dies hingegen nicht und er trägt einfach 0000-00-00 00:00:00 in das Feld ein.

    Prinzipiell funktioniert:

    SQL
    SELECT now()+(20*60)

    hingegen schon auf beiden Servern.

    Bin grad irgendwie ratlos.

    Grüße

  • Das klingt wirklich seltsam.
    Die Where-Bedingung trifft auch zu, sprich es gibt ein Element mit id=1? Ansonsten fällt mir nichts ein...

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Ich habe einige Fälle in Foren gefunden, wo es nicht am Query lag, sondern an der Scriptsprache, die das Query abgesetzt hat, Stichwort Quotes. Führst du das Query direkt in einem SQL Client (z.B. "mysql" Client Binary) aus, oder im Rahmen eines Webserver-Scripts?

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich habe einige Fälle in Foren gefunden, wo es nicht am Query lag, sondern an der Scriptsprache, die das Query abgesetzt hat, Stichwort Quotes. Führst du das Query direkt in einem SQL Client (z.B. "mysql" Client Binary) aus, oder im Rahmen eines Webserver-Scripts?

    Ich konnte den Fehler im php Code auf dieses Query reduzieren und habe es um Scriptfehler auszuschließen direkt an der Datenbank in einem SQL Client getestet.
    Die WHERE clause trifft auch zu, bzw hier halt nur exemplarisch die id=1.
    Mittlerweile bin ich zu dem Schluss gekommen, da es sich beim Livesystem zwar um eine 5er MYSQL aber hier in einer sehr frühen Version (5.0.xx) handelt und auf meiner Testumgebung um eine 5.3.xx, hier irgendwie des Query an sich nicht richtig interpretiert wird vom älteren Server. Sieht für mich nach einem Typ Konflikt aus. Nichts desto-trotz funktioniert das Query in abgewandelter Form (date_add(now(), interval 1 hour) einwandfrei. Leider ist dies aber keine Lösung die mich 100% zu frieden stellt da ich nur ungern den Quellcode verändern möchte und es keinen passenden Hookpoint an dieser Stelle der Class gibt. :grr:

  • Hm, sind die Datenstrukturen der beiden Tabellen (live/dev) denn identisch? Welches Format hat die Spalte myDate?
    Und: Ist Upgraden keine Option?

    We are Microsoft of Borg. Assimilation is imminent. Resistance is... Error in Borg.dll. Press OK to abort.

  • Hm, sind die Datenstrukturen der beiden Tabellen (live/dev) denn identisch? Welches Format hat die Spalte myDate?
    Und: Ist Upgraden keine Option?

    Die Schemen beider Tabellen (live/dev) sind identisch. myDate hat den Datentyp TIMESTAMP. Auch mit anderen Datentypen hat sich am Problem nichts geändert.
    Ein Upgrade der Datenbank ist im Moment leider technisch nicht möglich, da bin ich aber dran. Muss halt noch viel Vorarbeit geleistet werden.