Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
access mdb中的PHP和日期格式_Php_Date_Ms Access_Pdo - Fatal编程技术网

access mdb中的PHP和日期格式

access mdb中的PHP和日期格式,php,date,ms-access,pdo,Php,Date,Ms Access,Pdo,我正在使用PHP将数据插入MS Access数据库(*.mdb)。 字段CreateDate的类型为Date/Time,插入的数据格式错误。这是我的疑问: $date = date('d/m/Y'); $dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)}; Dbq="mydb.mdb"; Uid=Admin"); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMOD

我正在使用PHP将数据插入MS Access数据库(*.mdb)。 字段CreateDate的类型为Date/Time,插入的数据格式错误。这是我的疑问:

$date = date('d/m/Y');
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)}; Dbq="mydb.mdb"; Uid=Admin");     
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec("INSERT INTO Cup_Package (Cup_BorgPartnerID, Name, CreateDate)           VALUES (1, 'Catalog and Price Update', $date)");

但不是像2013年2月9日那样写一个日期,日期字段是1899年12月30日,这可能意味着我给出的格式不正确,或者日期字段根本没有数据。有什么想法吗?

在Access中,日期文字必须包含在
#
中,并且格式如下:

#MM/DD/YYYY#
或者,对于日期和时间:

#MM/DD/YYYY HH:MM:SS#
Access还接受日期文字作为十进制数,其中整数部分是天数,小数部分是一天的小数

但就你而言:

$date = date('m/d/Y');
$dbh->exec("INSERT INTO Cup_Package (Cup_BorgPartnerID, Name, CreateDate) 
           VALUES (1, 'Catalog and Price Update', #$date#)");

但是,
$date
是“d/m/Y”格式的字符串。db引擎希望日期文本采用“m/d/Y”格式,而不考虑语言环境或Y-m-d。@HansUp:很好,我没有对现有的格式字符串给予足够的注意,我认为它是可以的,并且只缺少了
。谢谢