我有一个包含几个字段的表单,主要是文本,但也有一个日期和时间字段。我不确定如何将这些保存到数据库表中。在PHPMyAdmin中,我设置了" eventdate"字段到DATE类型,"时间"字段到" TIME"类型。
在我的JS文件中,我有:
// When "Save Event" is clicked
form.submit({point: point}, function (event) {
// Stops page from refreshing
event.preventDefault();
// Form validation
if( !$("input[name=name]", this).val() ) {
alert('You forgot to enter a name!');
return false;
}
if( !$("textarea[name=description]", this).val() ) {
alert('You forgot to enter a description!');
return false;
}
// Send elements to 'data' object.
var data = {
name: $("input[name=name]", this).val(),
description: $("textarea[name=description]", this).val(),
category: $("select[name=type]",this).val(),
eventdate: $("input[name=date]", this).val(),
time: $("input[name=time]", this).val(),
lat: event.data.point.overlay.getPosition().lat(),
lon: event.data.point.overlay.getPosition().lng()
};
trace(data)
// Sends data to PHP script to database
$.post("add_event_data.php", data, tidy_maps.saveStopResponse, "json");
相应的PHP是:
// Insert into DB table "Events"
$statement->prepare("INSERT INTO events (lat, lon, name, description, category, eventdate, time) VALUES (?, ?, ?, ?, ?, ?, ?)");
// Add values from the url and add to DB
$statement->bind_param("ddsssss", $_POST['lat'], $_POST['lon'], $_POST['name'], $_POST['description'], $_POST['category'], $_POST['eventdate'], $_POST['time']);
$status = $statement->execute();
它显然没有将数据发送到数据库,它必须归因于日期和时间,因为它在我添加这些之前正在使用另一个数据库表。