在推送到数据库之前使用STR_TO_DATE()

时间:2011-08-03 12:59:23

标签: php mysql datetime

我正在将值推送到MySQL数据库中我需要获取现在的代码并集成STR_TO_DATE()函数。

STR_TO_DATE()功能需要同时应用于$start$end

$qstring = "INSERT INTO tbl_events VALUES(NULL,'".$name."','".$day."','".$start."','".$end."','".$location."','".$description."','".$type."')";
$result = mysql_query($qstring);

日期格式为“08/03/2011 09:05”

我已经尝试用$start替换STR_TO_DATE($start)它会杀死php脚本。

2 个答案:

答案 0 :(得分:5)

丢失STR_TO_DATE()周围的引号(它是一个函数,而不是一个字符串)并将它们添加到$start周围(需要是一个字符串)。然后添加Mihai建议的第二个参数。

$qstring = "INSERT INTO tbl_events 
  VALUES(NULL,'$name','$day', 
  STR_TO_DATE( '$start', '%m/%d/%Y %h:%i' ), 
  STR_TO_DATE( '$end', '%m/%d/%Y %h:%i' ), 
  '$location','$description','$type')";
$result = mysql_query($qstring) or die( mysql_error() );

请注意,您不需要执行"INSERT... '".$var."'...",如果执行"INSERT ... '$var' ..."

,它更具可读性并且不易出错

答案 1 :(得分:0)

您的$start$end格式是什么?

STR_TO_DATE('01,5,2013','%d,%m,%Y')
STR_TO_DATE('May 1, 2013','%M %d,%Y')

这些是两种方式......一切都取决于你的日期格式