簡體   English   中英

使用PHP Mysql從表單插入日期

[英]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字段是datedatetime類型。 這些文件的格式為YYYY-mm-dd 嘗試將代碼更改為:

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

另外,在格式化日期之前,您不會將其轉換為時間戳。 我也在這里的數據上添加了strtotime()

PHP的date需要一個時間戳作為第二個參數。 如果$insertdate不是一個,它將不起作用。 盡管可以使用PHP的strtotime()函數從字符串獲取時間戳。

另外,必須根據mysql數據庫中使用的類型對sql語句中的值進行格式設置,例如datedatetimetimestamp

您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM