2011-10-17 139 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));