Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将空数据插入数据库_Javascript_Php_Mysql_Ajax - Fatal编程技术网

Javascript 将空数据插入数据库

Javascript 将空数据插入数据库,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,我有一个将日期输入保存到数据库中的文件 以下是我的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(func

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

以下是我的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>

日期:
$(文档).ready(函数(){
$(“#btn_提交”)。单击(函数(){
var dates=$(“#date”).val();
如果(日期=“”){
警报(“插入失败,某些字段为空….!!”;
}否则{
$.post(“datedatabase.php”{
日期1:日期
},函数(数据){
警报(数据);
$('#myForm')[0].reset();//重置表单字段的步骤
});
}
});
});
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.
?>

在查询和检查之前,尝试将收到的字符串输出为date2,该字符串的格式正确

请尝试以下更改:

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

要将日期字符串从mm/dd/yyyy转换为yyyy-mm-dd,可以通过以下方式快速转换:

list($month, $day,$year)=explode("/", $date2);
$date2 = $year."/".$month."/".$day;
这将通过一点字符串操作获得结果


或者,您可以按照另一个答案的建议,将日期转换为时间戳

您发布到db的日期($date2)的格式是什么?它似乎没有我的Sql中所期望的yyyy-mm-dd格式。还要注意,您应该使用mysqli或pdo,而不是mysql。php中的Mysql库已被弃用,并已从PHP7(下一版本)中删除。请尝试以下操作:
插入日期使用(id,dateUSE,stock)值(“”,“2015-22-10”,“”)
,如果要将其保存在数据库中,那么(正如@LelioFaieta所说,您有格式问题)我发现了问题,@LelioFaieta是正确的。格式问题。输入日期为mm/dd/yyyy,数据库格式为yyyy/mm/dd。如何解决此问题?mysql字段不是unix时间戳,它不会失败,我猜它将存储为字符串。他只需要把它作为字符串,如果是varchar,如果是日期,那么是fine@LelioFaieta:这就是OP所说的
是这样一个空日期-->'0000-00-00'
指的是一个时间戳。RTOTIME将把作为字符串存储的日期转换为作为unix时间戳(实际上是一个数字)的时间,mysql预期为yyyy-mm-dd字符串。为了使您的示例起作用,您应该将时间戳转换回带有右键的字符串format@LelioFaieta:同样,正如OP提到的
是一个空日期-->'0000-00-00'
这是指时间戳的经典行为,如果您有其他解决方案,请提供,除此之外,我认为我的密码不正确。你把我的密码放在哪里了?你必须把它放在$date2被定义之后我把它放在$date2=$\u POST['date1']之后;此行:列表($month,$day,$year)=分解(“/”,$date2);mysql是否允许在mysql日期字段中以字符串形式存储日期?能否在此行之前回显$date2?