插入时间Php的查询
我的PHP字符串包含以下数据:插入时间Php的查询,php,mysql,insert-update,Php,Mysql,Insert Update,我的PHP字符串包含以下数据: $OpenDate = '20-Sep-18' ; 但当我将其插入数据库时,它会给我一个错误: Column not found: 1054 Unknown column 'Sep' in 'field list'' in C:\xampp 试图将所有“-”替换为“”,但也不起作用 编辑: 查询代码: $stmt = $conn->query("INSERT INTO `ticketinfo` (`tOrderId`) VALUES ( ".$tOrd
$OpenDate = '20-Sep-18' ;
但当我将其插入数据库时,它会给我一个错误:
Column not found: 1054 Unknown column 'Sep' in 'field list'' in C:\xampp
试图将所有“-”替换为“”,但也不起作用
编辑:
查询代码:
$stmt = $conn->query("INSERT INTO `ticketinfo`
(`tOrderId`)
VALUES
( ".$tOrderID.") on duplicate key update `tPLU`= ".$tPLU." , `tPrice`= ".$Total1." , `tBuy`=".$OpenDate );
问题出在$OpenDate中,根据正确的日期格式是YYYY-MM-DD,因此月份不是字母而是数字。应该是2018-09-20。- 是“YYYY-MM-DD HH:MM:SS”。仅就日期而言,它将是:
'YYYY-MM-DD'
- 在PHP(应用程序代码)中,您需要将日期字符串转换为MySQL可接受的格式。您可以使用函数将日期字符串转换为时间戳。然后,使用函数将其转换为
YYYY-MM-DD
- 最后,在Insert查询中使用此转换的日期字符串
- 此外,根据错误消息,需要转义查询参数。请学习并实施
一年的完整数字表示,4位数字示例:1999或2003Y
一个月的数字表示,前导零为01到12m
月日,两位数字,前导零01到31d
2018-09-20
。请在问题中粘贴查询代码。“插入时间Php查询”那么,你想插入“时间”还是“日期”?@PhilRoggenbuck如果是date
fieldShow就是你的代码。调试看不见的代码非常困难。这就像让汽车修理工修理你的汽车而不让他们看一样。此外,正如下面的答案所说,您需要以YYYY-MM-DD
的格式存储它(但这与您得到的实际错误无关)。根据错误消息,您尝试添加值,而不将其括在引号中(并使用错误的日期格式)。因此,您应该使用“2018-09-20”
,而不是20-Sep-18
。
$OpenDate = '20-Sep-18';
$mySQLFormatOpenDate = date('Y-m-d', strtotime($OpenDate));
echo $mySQLFormatOpenDate; // test display the formatted date
/* Now use $mySQLFormatOpenDate in your SQL Insert query */