Incorrect datetime value
Wellicht is er iemand die mij op weg kan helpen...
Sinds kort heb ik het beheer van een website overgenomen omdat de webmaster is weggevallen. Ik heb zo'n beetje alles weer aan de gang en de normale gebruiker van de website ervaart alles als normaal.
Voor verwerking van door gebruikers aangeleverde data is er een admincenter. Ook daarin werkt alles zoals het hoort op een bewerking na. Wij hebben de mogelijkheid om een door een gebruiker aangemaakt bericht te corrigeren, bijvoorbeeld een typefout of foutief aangeleverd gegeven.
De eerste keer dat wij dit bericht verwerken gaat alles goed en wordt het in de database opgeslagen. Het is dan ook keurig terug te vinden. Het probleem ontstaat wanneer achteraf blijkt dat het bewerkt dient te worden en dan gaat er iets fout.
In de database is te zien dat het bericht is opgeslagen in een tabel met een aantal kolommen waarvan er een de datetime bevat. Bij het initiële opslaan (eerste publicatie) gaat het goed, na bewerking en dan "saven" komt de volgende melding:
Incorrect datetime value: '' for column `qb205508_1`.`lmns_esuser`.`dati` at row 1
Er zijn meerdere mogelijkheden binnen de "afdelingen" in het admincenter en de fout komt dan ook voor echter dan voor een andere tabel maar dan ook weer als bijv. ....lmns_truser`.`dati` at row 1
Daarom zit de fout waarschijnlijk in de database en wel in de manier waarop de datetime wordt gezocht en weer teruggeschreven. Het format van de kolom dati is conform datetime ( 0000-00-00 00:00:00 ).
Het heeft altijd gewerkt totdat er in het verleden (nu zo'n jaar geleden) iets met de database is gebeurd en deze hersteld is. Na overzetten naar nieuwe hosting is de database over gezet met de fout bestaat nog steeds en het zou fijn zijn om de functionaliteit van het corrigeren terug te krijgen. Nu werken we er omheen door het bericht te verwijderen en opnieuw te plaatsen en dat is natuurlijk niet de bedoeling.
Zou het iets te maken kunnen hebben met de functies in SQL log :
NO_ZERO_DATE
of
STRICK_TRANS_TABLES
Laatste heb ik geprobeerd aan te passen maar had geen "super" rechten ondanks dat ik als hoofdgebruiker ben aangemeld.
Alvast dank voor het meedenken!
Gewijzigd op 13/06/2021 17:46:57 door Frank Veldhuijsen
foute formaten kunnen zijn:
14/06/2021
14-06-2021
2021-14-06
maar ook
0000-00-00
NULL
en zelfs
"gisteren"
Waar het een een aanpassing in PHP nodig heeft, heeft het andere iets in je database settings te doen.
Voor de hand liggen NULL en 0000-00-00, maar zoek dat eerst even uit.