向数据库中插入空数据

问题描述:

我有一个文件将日期输入保存到我的数据库中。向数据库中插入空数据

这是我的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。我的代码有什么问题?

+0

你发布到db($ date2)的日期格式是什么?它看起来像没有在我的Sql预期的yyyy-mm-dd格式。还要注意你应该使用mysqli或者pdo而不是mysql。在PHP中的Mysql库已被弃用,并从PHP 7(下一版本)删除 –

+0

试试这个:INSERT INTO date_use(id,dateuse,stock)VALUES('',“2015-22-10”,'')',If它将被保存在数据库中,然后(如@LelioFaieta告诉,你有* format *问题) – Shafizadeh

+0

我发现问题和@LelioFaieta是正确的。格式问题。输入日期为年/月/年,数据库格式为年/月/日。我将如何解决这个问题? –

尝试在查询和检查之前输出您作为date2接收的字符串,该字符串具有正确的格式。

问候

试试这个变化:

$date = $_POST['date1']; 
$date2 = strtotime($date); 
$date2 = date('Y-m-d', $date2); 
+0

该mysql字段不是一个unix时间戳,这将失败 –

+0

不会失败,我想它会被存储为字符串。他只需要把它作为字符串,如果它的一个varchar如果它的日期那么它的罚款 –

+0

@LelioFaieta:这是什么OP说'是这样的空白日期 - >'0000-00-00''指的是一个时间邮票 –

的日期字符串从MM/DD/YYYY转换为YYYY-MM-DD可以快速走这条路:

list($month, $day,$year)=explode("/", $date2); 
$date2 = $year."/".$month."/".$day; 

这将得到你的结果只是一点点的字符串操作

或者你可以通过日期转换作为另一个答案所建议的时间戳。

+1

我得到一个未定义偏移的错误 –

+0

你把我的代码放在哪里?你必须把它放在$ date2已定义后 –

+0

我把它放在$ date2 = $ _POST ['date1']; –