Düzgün biçimlendirilmiş MySQL tarih ekleme deyimi Bütün 0 döndürür

2 Cevap php

Ben, bir HTML sayfası ayrıştırır bir MySQL sorgusu oluşturur ve MySQL tabloya ayrıştırılmış veri ekler bir PHP komut dosyası oluşturduk. Tarih alanı: Her şey tek bir şey hariç, gayet iyi çalışıyor. PHP MySQL deyimi çalıştırıldığında, tablo tarihleri ​​0000-00-00 okuyun. I MySQL sorgu yankı ise, aşağıdaki ile sonuçlanır:

INSERT INTO dispatch_table (dispatch_date, dispatch_time, dispatch1, dispatch2, dispatch3, dispatch4, dispatch5, dispatch6, dispatch7, dispatch8, dispatch9, dispatch10, dispatch11, dispatch12, dispatch13, dispatch14, dispatch15, dispatch16)VALUES ('2010-02-02', '10:46:17', '31.90' , '32.15','32.24','32.39','33.46','35.18','39.33','39.39','40.92','41.79','41.82','44.35','45.47','46.89','47.13','67.59');

Ben kopyalama ve MySQL tabloya ifadeyi yapıştırın ise, sadece para cezası tarihi ekler, ancak PHP eklemek trys zaman, ben bütün 0 adlı verilen am. Dispatch_date alan MySQL bir "tarih" bir alandır. PHP kodu ile tarihleri ​​takmadan önce, eklemek için tarih (bu benim sorunu çözmek düşündüm) bir dizeye dönüştürülür. Herkes bana bu konuda herhangi bir fikir verebilir misiniz?

2 Cevap

Tizag.com Gönderen

When you enter dates that are out of the range or in the wrong format for a given date type, MySQL will often just enter in the default value of all zeros.

Sen yanlış biçimde bunları depolamak.

2010-02-02 (% Y-% m-% d) varsayılan biçim ancak değiştirilebilir. Değerler sunucu ne olduğunu öğrenmek için bu sorguyu çalıştırın:

SELECT @@date_format, @@datetime_format;

Onlar uygun değilse, sizin sorguları değiştirmek veya değişkenler datetime_format @ @ @ @ @ Date_Format ve değiştirmek için ya var olacak. Onlar bir oturum başına bazında değiştirilebilir:

SET @@session.date_format='%Y-%m-%d';
SET @@session.datetime_format='%Y-%m-%d %H:%i:%s';