![](/img/trans.png)
[英]Php/MySQL Adding time from a form to current date then inserting into DB
[英]Inserting Date from form using PHP Mysql
我似乎無法獲得從表單插入數據庫的日期。 請幫忙!
這是我的表格
echo '
<h1>Enter New Report</h1>
<form action="submitreport.php" method="post"
enctype="multipart/form-data">
Date: <input type="text" name="Date" value='.$myDate.' /><br />
Report:<br><TEXTAREA NAME=Report ROWS=4 COLS=40></TEXTAREA><br />
<input type="submit" name="submit" value="Submit" />
</form>
';
?>
這是我寫的要提交到數據庫的內容
$insertdate = trim($_POST['Date']);
$insertdate = mysql_real_escape_string($insertdate);
$insertdate = date('m/d/Y', $insertdate);
echo $insertdate;
mysql_query("INSERT INTO `Reports`(`Date`, `Report`) VALUES ('$insertdate','$_POST[Report]')") or die("load1 -" . mysql_error());
mysql_close();
echo "Thank You!" . " -" . "<a href='index.php' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>
我只是在猜測,但是您在數據庫中的Date
字段是date
或datetime
類型。 這些文件的格式為YYYY-mm-dd
。 嘗試將代碼更改為:
$insertdate = date('Y-m-d', strtotime($_POST['Date']));
另外,在格式化日期之前,您不會將其轉換為時間戳。 我也在這里的數據上添加了strtotime()
。
PHP的date
需要一個時間戳作為第二個參數。 如果$insertdate
不是一個,它將不起作用。 盡管可以使用PHP的strtotime()
函數從字符串獲取時間戳。
另外,必須根據mysql數據庫中使用的類型對sql語句中的值進行格式設置,例如date
, datetime
或timestamp
您可以使用NOW()MySQL函數將當前日期/時間插入數據庫。 您只需要使用Date,DateTime或Timestamp字段類型,此功能就可以使用。
我得到它$ insertdate = trim($ _ POST ['Date']);
$insertdate = mysql_real_escape_string($insertdate);
$insertdate = strtotime($insertdate);
$insertdate = date('Y-m-d', $insertdate);
strtotime修復了它,但是我不得不將日期格式重新排列為Ymd
感謝您的幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.