我有以下datepciker:日期到SQL数据库失败
<script>
$(function() {
$("#datepicker").datepicker({
dateFormat: 'mm-dd-YYYY'
}).val(getTodaysDate(0)); // For current date
});
function getTodaysDate (val) {
var t = new Date, day, month, year = t.getFullYear();
if (t.getDate() < 10) {
day = "0" + t.getDate();
}
else {
day = t.getDate();
}
if ((t.getMonth() + 1) < 10) {
month = "0" + (t.getMonth() + 1 - val);
}
else {
month = t.getMonth() + 1 - val;
}
return (day + '/' + month + '/' + year);
}
</script>
输入:
<input type="text" id="datepicker" name="datepicker">
在这里,我想插入日期到我的MySQL数据库。没有错误消息,insert命令运行正常,但我的数据库中的日期字段为空/ NULL。
$date = $_POST['datepicker'];
$sql="INSERT INTO table (dt) VALUES ('$date')";
这是一些价值型问题或什么?我的db中的dt
列是DATE
。
* UPDATE @Dwza: 所以我修改剧本:
dateFormat: 'YYYY-mm-dd'
和
return (year + '-' + month + '-' + day);
而你提到的链接建议INSERT
:
$parts = explode('-', $_POST['datepicker']);
$date = "$parts[2]-$parts[0]-$parts[1]";
$sql="INSERT INTO transfer (dt) VALUES ('$date')";
仍然没有去。
**解决:
$date = "$parts[0]-$parts[1]-$parts[2]";
与jQuery或JavaScript不同,'$ _POST ['datepicker'];'PHP基于'name'而不是'id'获取!! :) – NoobEditor
我刚刚也加了'name',检查Daan的答案,但仍然一样。 – fishmong3r
你在'$ _POST ['datepicker']'中获得什么值?如果它包含看起来像日期的东西,那么格式可能不同(例如,yyyy-mm-dd与mm/dd/yyy),您将不得不更改日期选择器格式或更改db语言环境。 –