我正在尝试更新数据库中的日期字段。像这样查询:
$q = "update news set data = STR_TO_DATE('2011-03-05','%Y-%m-%d'), title = '".$title."', content='".$content."',....";
效果很好,但是:
$q = "update news set data = STR_TO_DATE('".$data."','%Y-%m-%d'), title = '".$title."', content='"...";
它不起作用:(
我有约会对象:
$data = $_POST["data"];
它的值为“2013-04-13”。我修剪了日期并在弹出窗口中显示并且值是正确的; Plz帮助:)
更新 这对我来说很奇怪,但如果我正在使用:
$q = "insert into news set data = CAST('".$data."' AS DATE), title = '".$title."', content='".$content."'...";
它完美无缺。仅在插入不在更新中
表格脚本:
CREATE TABLE IF NOT EXISTS `news` (`id` int(11) NOT NULL AUTO_INCREMENT, `data` date NOT NULL, `title` text NOT NULL, `content` text NOT NULL, `img` text NOT NULL, `n_img` text NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=36 ;
答案 0 :(得分:1)
为什么使用STR_TO_DATE
?看起来你的日期已经是正确的格式。尝试删除它,只是按原样插入?
可能想先逃避它。
$data = mysql_real_escape_string($_POST["data"]);