SQL Invalid datetime format: 1292 Truncated incorrect DECIMAL value: ''

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
619
hallo,

ich habe folgendes PHP-Script welches ein UPDATE durchführt:

PHP:
$statement = $pdo->prepare('UPDATE users_db SET valid=:valid WHERE lastseen < 1671485503');
$statement->execute(array('valid' => NULL));

doch es kommt immer zu einem Fehler im Log:

Code:
Invalid datetime format: 1292 Truncated incorrect DECIMAL value: ''
Aber ich versteh einfach nicht was das ist... lastseen ist als int(10) definiert und die Zahl somit nicht zu lang. Hab ich ein denkfehler ?? Selbst bei varchar(255) funktioniert nix. Auch im SQL direkt: "#1292 - Falscher DECIMAL-Wert gekürzt: ''"
 
1. Wenn Datum gemeint ist nimm datetime und nicht int. Dbms haben üblicherweise irgendeine Form von from_unixtime.
2. Int(10) macht int nicht größer als es ist. Nur genauer. Nimm einen Datentyp wo mehr als 32bit reinpassen.
3. Wenn’s nur ein Beispiel war okay, aber es gibt für statische Inhalte natürlich keinen Grund, diese zu binden. Einfach die NULL in den String. Wenn natürlich auch was anderes als Null da eingesetzt werden soll, dann ist die Bindung allerdings richtig und wichtig.
 
  • Gefällt mir
Reaktionen: Pfandfinder
Zurück
Oben