php插入数据库时间准确,php – 将日期插入数据库

我有一个项目,其中一个活动表绑定到MySQL数据库.

我创建了一个表单,用于输入用户输入并插入数据库.但是我在插入日期时遇到了麻烦.

我使用jQuery和Ajax将值作为数据字符串传递给执行insert查询的PHP文档:

jQuery的/阿贾克斯:

$('.btn-add').click(function () {

if ($('.add-form').is(':hidden')) {

$('.add-form').slideDown(400);

$(this).children('i').fadeOut(100);

} else {

var title = $("#title").val();

var genres = $("#genres").val();

var languages = $("#languages").val();

var dev = $("#dev").val();

var date = $(".picker").next().val().split(".").reverse().join("-");;

// I used a date picker for this. It picks the date as "dd.mm.yyyy."

//and I had jquery convert it to "yyyy-mm-dd" for mysql compatibility.

var dataString = 'title1=' + title + '&genres1=' + genres + '&languages1=' + languages + '&dev1=' + dev + '&date1=' + date;

if (title == '' || genres == '' || languages == '' || dev == '' || date == '') {

Materialize.toast('Please complete all the forms.', 4000);

} else {

// AJAX Code To Submit Form.

$.ajax({

type: "POST",

url: "php/add-game.php",

data: dataString,

cache: false,

success: function (result) {

tableLoad();

Materialize.toast(result, 4000);

$('.add-form').slideUp(400);

$('.btn-add').children('i').fadeIn(100);

}

});

}

}

});

附加game.php:

$conn = mysqli_connect("localhost", "root", "****", "db-name");

$title = $_POST["title1"];

$genres = $_POST["genres1"];

$languages = $_POST["languages1"];

$dev = $_POST["dev1"];

$date = $_POST["date1"];

$sql = "INSERT INTO games (title, genres, languages, developer, release-date)

VALUES ('$title', '$genres', '$languages','$dev','$date')";

if ($conn->query($sql) === TRUE) {

echo "Success!";

} else {

echo "Something went wrong.";

}

$conn->close();

?>

现在,首先我尝试只传递前4个文本值的代码,没有日期,并且它工作正常:新行添加了输入信息和表刷新,但我似乎无法插入适当的日期.

我尝试使用.php文档中的错误消息回显$date,它以“yyyy-mm-dd”格式向我显示日期就好了.然而,仍然出现问题,我不知道它是什么.

编辑1:

这是数据库结构:

60ee0546fe6a01f0533b8598d111dc88.png

编辑2:

debug.txt文件的内容:

e9e7f8c00fb1fbe2192bcfef875c72a8.png

如您所见,日期格式很好. (2015年3月15日)

解决方法:

它看起来对我来说是正确的.

我会检查release-date列是否真的是DATE列.

并尝试在查询中对日期进行硬编码,以查看它是输入问题还是什么.

$sql = "INSERT INTO games (title, genres, languages, developer, release-date)

VALUES ('$title', '$genres', '$languages','$dev','2016-05-01')";

编辑:

我做了一些测试,这是因为columnt名称发布日期,因为它包含’ – ‘字符.尝试将coulmn名称更改为release_date或releaseate.否则你可以在查询中转义列名,但是如果可以的话我会避免这种情况,因为下次你必须构建一个查询时它会导致同样的错误并且找出错误并不容易.

$sql = "INSERT INTO games (title, genres, languages, developer, `release-date`)

VALUES ('$title', '$genres', '$languages','$dev','$date')"

注意’与’不同’

我甚至没有在键盘上.

标签:jquery,php

来源: https://codeday.me/bug/20190623/1269589.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值