Seite 1 von 1

PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00'

Verfasst: Mo 6. Nov 2023, 17:48
von Faar
PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00' in /contenido/classes/db/class.db.driver.mysqli.php:236

Ich hatte dieser Art Fehler heute in einer 'weißen Seite mit weißer Schrift' und selbst das Backend war nicht mehr erreichbar.

Hoster = Hosteurope
sql_mode = strict
Berechtigungen dafür: keine mehr

Lange Suche, kurze Lösung:
Im Kundenbereich konnte ich die "Rechte neu setzen" bei der Datenbank anklicken und danach über phpmyadmin als SQL "SET sql_mode = '';" absetzen und siehe da, die Seite lief wieder.
Aus irgendeinem Grund war bei dem Hoster die DB auf strict-mode umgestellt und die Rechte, dass ich das wieder zurücksetzen kann, ausgeschaltet.

Danke Oldperl für Deine Mithilfe.

Re: PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00'

Verfasst: Di 7. Nov 2023, 08:51
von bodil
Danke für den Hinweis!
Was ich nicht ganz verstehe: das Problem ist nicht bei einer Neuinstallation aufgefallen, sondern der Hoster hat out of the blue was an der Datenbank gefummelt?

Re: PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00'

Verfasst: Di 7. Nov 2023, 12:31
von Oldperl
Faar hat geschrieben:
Mo 6. Nov 2023, 17:48
Danke Oldperl für Deine Mithilfe.
Bitte, gern geschehen. :)

Gruß aus Franken

Ortwin

Re: PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00'

Verfasst: Di 7. Nov 2023, 16:55
von Faar
bodil hat geschrieben:
Di 7. Nov 2023, 08:51
Was ich nicht ganz verstehe: das Problem ist nicht bei einer Neuinstallation aufgefallen, sondern der Hoster hat out of the blue was an der Datenbank gefummelt?
Ja, weil niemand was am System gemacht haben kann außer jemand, der direkten Zugriff auf die Datenbankserver hat.
Wie genau das dort geschieht, weiß ich nicht, es kann mit einer Wartungsarbeit zusammen gehangen haben, aber die Berechtigungen stimmten nicht mehr und eingestellt war plötzlich strict-mode, der von mir oder vom Setup beim Update ausgeschaltet wird.
Jemand hat ihn also wieder eingeschaltet.

Re: PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect DATETIME value: '0000-00-00 00:00:00'

Verfasst: Mi 8. Nov 2023, 11:11
von Faar
Zu früh gefreut, die Seite geht wieder nicht.
Die MySQL Datenbank ist wieder zurückgesetzt auf

Code: Alles auswählen

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
Diese NO_ZERO_IN_DATE,NO_ZERO_DATE machen hier aktuell die Probleme und woanders sicher auch STRICT_TRANS_TABLES

Da bleibt nichts anderes übrig, als weg von Hosteurope zu einem anderen Hoster, der kundenfreundlicher ist.

edit: lässt sich auch wieder nicht mehr ausschalten und folgende Meldung kommt:
Warning: #3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

edit: https://www.hosteurope.de/faq/aktuelle- ... sql_update
" Eine der relevantesten Änderung ist der Wert für den SQL Mode.
Dieser ist nun auf das folgende gesetzt: "ONLY_FULL_GROUP_BY,​STRICT_TRANS_TABLES,​NO_ZERO_IN_DATE,​NO_ZERO_DATE,​ERROR_FOR_DIVISION_BY_ZERO,​NO_ENGINE_SUBSTITUTION "

edit: Mit einem Eintrag in der config.php läuft die Seite wieder.
direkt nach der Zeile 'charset => 'utf8' in der variablen $cfg['db'] wird folgendes eingetragen:

Code: Alles auswählen

        'options'  => [
            // (string[]) Database options
            MYSQLI_INIT_COMMAND => "SET SESSION sql_mode='';",
        ],