我正在尝试将日期存储在sql表中,但我想将其格式化为:
月,日 2010年10月10日 但每当我进行sql调用时,2010都会丢失。我该如何解决这个问题?
$eventdate = "October 10, 2010";
$sql = "INSERT INTO `tims`.`blog` ( `title`, `date`, `post`, `author`, `approved`) \n"
. "VALUES (
'" . mysql_real_escape_string($_REQUEST['title']) . "',
'" . mysql_real_escape_string(addslashes($eventDate)) . "',
'" . mysql_real_escape_string($_REQUEST['TextArea1']) . "',
'" . mysql_real_escape_string($_REQUEST['author']) . "', 'False')\n";
//echo $sql;
$qry = mysql_query($sql) or die(mysql_error());
答案 0 :(得分:3)
我同意其余部分,您必须使用表格中的日期列进行记录,然后您必须在应用程序中显示它,您只需格式化检索日期,如“2010年10月10日”。请不要将日期存储为varchar文本,关系数据库具有为您存储日期的简单性,使用SQL您可以格式化日期,无论如何您希望显示它。
答案 1 :(得分:1)
检查列宽。您需要VARCHAR(n)作为该列的数据类型,并且n需要是年份最长月份名称的长度+ 9.如果您想要进行索引或排序,以这种方式存储日期并不是一个好主意他们,但它应该工作。
要查看表格结构:
show create table `tims`.`blog`;