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

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

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

Beitrag von Faar » Mo 6. Nov 2023, 17:48

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.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

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

Beitrag von bodil » Di 7. Nov 2023, 08:51

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?

Oldperl
Beiträge: 4255
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

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

Beitrag von Oldperl » Di 7. Nov 2023, 12:31

Faar hat geschrieben:
Mo 6. Nov 2023, 17:48
Danke Oldperl für Deine Mithilfe.
Bitte, gern geschehen. :)

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

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

Beitrag von Faar » Di 7. Nov 2023, 16:55

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.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

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

Beitrag von Faar » Mi 8. Nov 2023, 11:11

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='';",
        ],
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten