2011-10-17 154 views
2

我一直在尋找相當一段時間,我無法弄清楚爲什麼我的查詢不適用於日期。php/Mysql查詢插入日期失敗

我希望它被導入到我的數據庫作爲日期,這是從更高的選擇,所以我在這裏。

$insert_query = "INSERT INTO enrties(
`datum`) 
VALUES (
'".mysql_real_escape_string($_SESSION['Datum'])."') 

之前上面我用這一段代碼來一補幾頁$ _SESSION

$DateDag = $_POST['Dag']; 
$DateMaand = $_POST['Maand']; 
$DateJaar = $_POST['Jaar']; 
switch ($dateMaand) 
{ 
case 'Januari': $DateMaand = '01'; break; 
case 'Februari': $DateMaand = '02'; break; 
case 'Maart': $DateMaand = '03'; break; 
case 'April': $DateMaand = '04'; break; 
case 'Mei': $DateMaand = '05'; break; 
case 'Juni': $DateMaand = '06'; break; 
case 'July': $DateMaand = '07'; break; 
case 'Augustus': $DateMaand = '08'; break; 
case 'September': $DateMaand = '09'; break; 
case 'Oktober': $DateMaand = '10'; break; 
case 'November': $DateMaand = '11'; break; 
case 'December': $DateMaand = '12'; break;  
} 
$_SESSION['Datum'] = $DateDag. '-'. $DateMaand. '-'. $DateJaar; 

我想有進口的SQL日期格式(最好是DD-MM-日期YYYY格式)。

解決,有一個在開關錯誤Apparantly,真的不知道是什麼,但它的工作原理;)

+0

是這個SQL或MySQL,您標記後都格式化? – Luke 2011-10-17 12:48:37

+0

哎呀我的錯誤,這是mysql – Stefto 2011-10-17 12:49:32

回答

1

MySQL的日期格式必須是YYYY-MM-DD

圍着它轉,所以它看起來像:

$_SESSION['Datum'] = $DateJaar.'-'.$DateMaand.'-'.$DateDag; 
1

MySQL的日期格式實際上是YYYY-MM-DD,所以如果你想插入日期(猜你的數據字段是日期或日期時間),你必須設置你以這種方式的字符串。

如果要插入您的日期用不同的方式,你應該這樣做:

INSERT INTO enrties (datum) VALUES (str_to_date('01/02/2000', '%d/%m/%Y')); 

但這始終保存在YYYY-MM-DD方式的日期,因爲它是MySQL默認。

0

日期後插入就可以查詢$new_format=date('h:i:s d/m/Y',strtotime($date_string));