2015-10-18 124 views
-3

我有一個文件將日期輸入保存到我的數據庫中。向數據庫中插入空數據

這是我的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是正確的。格式問題。輸入日期爲年/月/年,數據庫格式爲年/月/日。我將如何解決這個問題? –

回答

-1

嘗試在查詢和檢查之前輸出您作爲date2接收的字符串,該字符串具有正確的格式。

問候

0

試試這個變化:

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

該mysql字段不是一個unix時間戳,這將失敗 –

+0

不會失敗,我想它會被存儲爲字符串。他只需要把它作爲字符串,如果它的一個varchar如果它的日期那麼它的罰款 –

+0

@LelioFaieta:這是什麼OP說'是這樣的空白日期 - >'0000-00-00''指的是一個時間郵票 –

0

的日期字符串從MM/DD/YYYY轉換爲YYYY-MM-DD可以快速走這條路:

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

這將得到你的結果只是一點點的字符串操作

或者你可以通過日期轉換作爲另一個答案所建議的時間戳。

+1

我得到一個未定義偏移的錯誤 –

+0

你把我的代碼放在哪裏?你必須把它放在$ date2已定義後 –

+0

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