sql >> Databasteknik >  >> RDS >> Mysql

Datum infogas som 0000-00-00 00:00:00 i mysql

Du är på rätt väg med din date('Y-m-d H:i:s',$date); lösning, men funktionen date() tar en tidsstämpel som sitt andra argument, inte ett datum.

Jag antar att dina exempel är i amerikanskt datumformat, eftersom de ser ut så. Du kan göra detta, och det bör ge dig de värden du letar efter:

date('Y-m-d H:i:s', strtotime($date));

Anledningen till att det inte fungerar är att det förväntar sig datumet i formatet ÅÅÅÅ-MM-DD och försöker utvärdera dina data som det. Men du har MM/DD/ÅÅ, vilket förvirrar det. Exemplet 06/11/10 är det enda som kan tolkas som ett giltigt ÅÅÅÅ-MM-DD-datum i dina exempel, men PHP tror att du menar 06 som år, 11 som månad och 10 som dag.



  1. Undviker SQL-injektion utan parametrar

  2. Hur man släpper främmande nyckelbegränsningar i SQL Server-databasen för alla tabeller - SQL Server / TSQL Tutorial Del 72

  3. Skapa ny tabell genom att välja data från andra tabeller med CREATE TABLE AS

  4. Hur beställer man efter max två kolumner som kan vara null i MySQL?