插入时间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

我的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
( ".$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查询中使用此转换的日期字符串
  • 此外,根据错误消息,需要转义查询参数。请学习并实施
Try():

所用格式选项的其他详细信息:

  • Y
    一年的完整数字表示,4位数字示例:1999或2003
  • m
    一个月的数字表示,前导零为01到12
  • d
    月日,两位数字,前导零01到31

正确的数据库格式是
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 */