2015-05-10 51 views
1

我试图使用PHP将日期时间值插入到我的SQL数据库中。使用PHP将日期时间插入到SQL Server中

这是我的代码:

$time= date('Y-m-d H:i:s.u'); 

$ordersquery= "INSERT INTO Orders (customerID, orderDate) VALUES ('{$phonenumber}', '{$time}')"; 
echo $ordersquery."\n"; 

每当我试着执行代码,也未能将这些信息输入,读取数据库:

INSERT INTO订单(的customerID, orderDate存储)VALUES( '(444)849-7592', '2015年5月10日12:03:28.000000')

布尔假

从字符 字符串转换日期和/或时间时转换失败。

我也使用CURRENT_TIMESTAMP和使用ISO-8601格式的尝试。

+0

什么数据类型是'orderDate'? – lolbas

+0

orderDate声明日期时间 –

+1

我不知道任何关于PHP,但我知道SQL服务器。使用[参数化查询。](https://msdn.microsoft.com/en-us/library/cc296201(v = sql.105).aspx)该链接提供了一个php示例。 –

回答

1

据我所知CURRENT_TIMESTAMP可以存储格式Y-m-d H:m:s的时间戳。除了Y-m-d H:m:s它会给出错误。

您可以设置orderDate存储的数据类型为varchar,并同时查询到数据库只是转换/类型它转换为日期格式..

希望这将有助于或可能给你一个方法来解决它....

+0

这是当我使用Current_Timestamp时得到的:INSERT INTO订单(customerID,orderDate)VALUES('(333)736-4572','CURRENT_TIMESTAMP') 布尔值false 从字符串转换日期和/或时间时转换失败。同时插入 空 –

+0

组orderDate存储数据类型为varchar在db和在查询中以DB只是转换/类型它转换为日期格式DATE_FORMAT Y-M-d H:I:s.u –

+1

@MangeshSatheIND NEVER EVER商店的日期时间值为varchar。 –

2

试试这个格式来代替:

$time= date('Y-m-d H:i:s'); 

值在Datetime插入应该是 'YYYY-MM-DD HH:MM:SS' 格式。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

+0

这就是当我使用'YYYY-MM-DD HH:MM:SS'INSERT INTO Orders(customerID,orderDate)时输出的结果VALUES('(333 )736-4572','1969196919691969-DecDec-WedWed 1919:DecDec:stst') 布尔值false –

+1

@IrisSpik不!使用我在代码部分中指定的部分,而不是下面的解释 - 我的意思是这部分:'$ time = date('Ymd H:i:s');' – Hatef

+0

这里输出:INSERT INTO Orders(customerID,orderDate )VALUES('(578)743-4753','2015-05-10 13:11:26') boolean false –

相关问题