更新日期字段时为空 - MySQL PHP
16lz
2021-01-22
I'm trying to update date field in my db. Query like this:
我正在尝试更新数据库中的日期字段。查询如下:
$q = "update news set data = STR_TO_DATE('2011-03-05','%Y-%m-%d'), title = '".$title."', content='".$content."',....";
works great, but:
效果很好,但是:
$q = "update news set data = STR_TO_DATE('".$data."','%Y-%m-%d'), title = '".$title."', content='"...";
it is not working :(
它不工作:(
I got date:
我有约会:
$data = $_POST["data"];
and it has a value "2013-04-13". I trimmed date and show in popup window and value is correct; Plz help :)
它的值为“2013-04-13”。我修剪了日期并在弹出窗口显示,价值是正确的; Plz帮助:)
UPDATE It is strange to me, but if i'm using:
更新我很奇怪,但如果我正在使用:
$q = "insert into news set data = CAST('".$data."' AS DATE), title = '".$title."', content='".$content."'...";
it works perfectly fine. Only in insert not in update
它工作得很好。仅在插入不在更新中
Script for table:
表格脚本:
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 个解决方案
#1
1
why are you using STR_TO_DATE
? looks like your date is already in the correct format. try removing it and just inserting as is?
你为什么使用STR_TO_DATE?看起来你的日期已经是正确的格式。尝试删除它,只是插入原样?
might want to escape it first though.
可能想先逃避它。
$data = mysql_real_escape_string($_POST["data"]);
更多相关文章
- 通过SSH将MySQL绑定到本地端口——在控制台工作,而不是通过Mac OS
- 使用PHP将XML Spreadsheet工作簿解析为JSON
- Angular Js $ http.get CORS问题 - 在Jquery中工作
- 使用date_default_timezone_set和日期的可能的PHP bug ?
- 关于PHP 读取EXCEL时间(不是日期)的问题
- php是如何工作的
- imagecreatetruecolor()在symfony中不起作用,但如果作为php脚本运行
- 请问做PHP相关工作是不是基本都要懂前端才行?
- PHP / Ajax:如何在成功登录后启动会话(剩余代码工作)