Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带插入日期的php/Mysql查询失败_Php_Mysql_Date_Phpmyadmin - Fatal编程技术网

带插入日期的php/Mysql查询失败

带插入日期的php/Mysql查询失败,php,mysql,date,phpmyadmin,Php,Mysql,Date,Phpmyadmin,我已经搜索了很长一段时间了,我不明白为什么我的查询对日期不起作用 我希望它被导入到我的数据库作为一个日期,这是一个选择,从更高的,所以我在这里 $insert_query = "INSERT INTO enrties( `datum` ) VALUES ( '".mysql_real_escape_string($_SESSION['Datum'])."') 在上面的几页之前,我使用这段代码填充$\u会话 $DateDag = $_POST['Dag']; $DateMaand = $_POS

我已经搜索了很长一段时间了,我不明白为什么我的查询对日期不起作用

我希望它被导入到我的数据库作为一个日期,这是一个选择,从更高的,所以我在这里

$insert_query = "INSERT INTO enrties(
`datum` )
VALUES (
'".mysql_real_escape_string($_SESSION['Datum'])."')
在上面的几页之前,我使用这段代码填充$\u会话

$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格式)


解决后,开关中出现了一个明显的错误,不确定是什么,但它能工作;)

MySQL日期格式必须为YYYY-MM-DD

将其旋转,使其看起来像:

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

MySQL日期格式实际上是YYYY-MM-DD,因此如果您想插入日期(猜测您的数据字段是date或Datetime),您必须以这种方式设置字符串

如果您想以其他方式插入日期,应使用以下方法:

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

但这将始终以YYYY-MM-DD的方式保存日期,因为这是mysql的默认值。

插入日期后,您可以在查询后格式化
$new\u format=date('h:i:sd/m/Y',strottime($date\u string))

这是SQL还是MySQL,你都标记了吗?@Stefto:你的表是enrties还是拼写错误?这是一个拼写错误,但我决定在数据库中保留它,这样我就可以告诉他们,appart XD已经做过一次了,但如果这么简单,我就不会在这里发布了,是吗?;)