sql >> Databáze >  >> RDS >> Mysql

Datum se vkládá jako 0000-00-00 00:00:00 v mysql

Se svým date('Y-m-d H:i:s',$date); jste na správné cestě řešení, ale funkce date() bere jako druhý argument časové razítko, nikoli datum.

Předpokládám, že vaše příklady jsou v americkém formátu data, protože tak vypadají. Můžete to udělat a mělo by vám to přinést hodnoty, které hledáte:

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

Důvodem, proč to nefunguje, je to, že očekává datum ve formátu RRRR-MM-DD a snaží se tak vyhodnotit vaše data. Ale máte MM/DD/RR, což to mate. Příklad 06/11/10 je jediný, který lze interpretovat jako platné datum RRRR-MM-DD z vašich příkladů, ale PHP si myslí, že máte na mysli 06 jako rok, 11 jako měsíc a 10 jako den.



  1. Vyhněte se uzamčení databázového dodavatele pro MySQL nebo MariaDB

  2. Doporučení pro rutinní zálohování obsahu

  3. utf-8 vs latin1

  4. Primární klíč v SQL:Vše, co potřebujete vědět o operacích primárního klíče