向数据库中插入空数据
我有一个文件将日期输入保存到我的数据库中。向数据库中插入空数据
这是我的HTML和JS代码:
<form id="myForm">
Date:<input type='date' name ='date' required id="date">
<input type="button" name="submits" value="submit" id="btn_submit">
</form>
<script>
$(document).ready(function() {
$("#btn_submit").click(function() {
var dates = $("#date").val();
if (dates == '') {
alert("Insertion Failed Some Fields are Blank....!!");
} else {
$.post("datedatabase.php", {
date1: dates
}, function(data) {
alert(data);
$('#myForm')[0].reset(); // To reset form fields
});
}
});
});
</script>
PHP代码:
<?php
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("date", $connection);
$date2=$_POST['date1'];
$query = mysql_query("INSERT INTO date_use (id,dateUSE,stock) VALUES('',$date2,'')");
if($query){
echo "Data Submitted succesfully";
}
mysql_close($connection); // Connection Closed.
?>
当我测试了一下,我把它保存到我的数据库,它是成功的,但在输入的数据我的数据库是这样一个空的日期 - >0000-00-00
。我的代码有什么问题?
尝试在查询和检查之前输出您作为date2接收的字符串,该字符串具有正确的格式。
问候
试试这个变化:
$date = $_POST['date1'];
$date2 = strtotime($date);
$date2 = date('Y-m-d', $date2);
该mysql字段不是一个unix时间戳,这将失败 –
不会失败,我想它会被存储为字符串。他只需要把它作为字符串,如果它的一个varchar如果它的日期那么它的罚款 –
@LelioFaieta:这是什么OP说'是这样的空白日期 - >'0000-00-00''指的是一个时间邮票 –
的日期字符串从MM/DD/YYYY转换为YYYY-MM-DD可以快速走这条路:
list($month, $day,$year)=explode("/", $date2);
$date2 = $year."/".$month."/".$day;
这将得到你的结果只是一点点的字符串操作
或者你可以通过日期转换作为另一个答案所建议的时间戳。
我得到一个未定义偏移的错误 –
你把我的代码放在哪里?你必须把它放在$ date2已定义后 –
我把它放在$ date2 = $ _POST ['date1']; –
你发布到db($ date2)的日期格式是什么?它看起来像没有在我的Sql预期的yyyy-mm-dd格式。还要注意你应该使用mysqli或者pdo而不是mysql。在PHP中的Mysql库已被弃用,并从PHP 7(下一版本)删除 –
试试这个:INSERT INTO date_use(id,dateuse,stock)VALUES('',“2015-22-10”,'')',If它将被保存在数据库中,然后(如@LelioFaieta告诉,你有* format *问题) – Shafizadeh
我发现问题和@LelioFaieta是正确的。格式问题。输入日期为年/月/年,数据库格式为年/月/日。我将如何解决这个问题? –