更新日期字段时为空 - MySQL PHP

时间:2013-04-08 22:06:59

标签: php mysql

我正在尝试更新数据库中的日期字段。像这样查询:

$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 ;

1 个答案:

答案 0 :(得分:1)

为什么使用STR_TO_DATE?看起来你的日期已经是正确的格式。尝试删除它,只是按原样插入?

可能想先逃避它。

$data = mysql_real_escape_string($_POST["data"]);