[英]inserting dates into mysql database
我有一個簡單的表單,該表單的隱藏字段的值為:
<?php echo date('Y-m-d'); ?>
當我通過我的PHP處理腳本提交表單時,表單上的所有內容都會與日期分開進入數據庫。
這是我的SQL:
$sql = "INSERT INTO wp_reminders (dateofentry, ipaddress, type) VALUES ('$_POST[dateofentry]','$_POST[ipaddress]' ,'$_POST[type]')";
當我在處理頁面上回顯日期時,它顯示正常。
我在數據庫中設置了以下內容:
dateofentry date NOT NULL
以上是否有任何想法?
插入MySQL的任何日期必須符合MySQL可以解析的格式之一,或者必須進行轉換。 ISO 8601是首選格式,通常為YYYY-MM-DD HH:MM:SS
。
如果您使用PDO:
$sql = "INSERT INTO wp_reminders (dateofentry, ipaddress, type) VALUES (:dateofentry, :ipaddress, :type)";
$statement = $pdo->prepare($sql);
$statement->bindParam(":dateofentry", strtotime(date("Y-m-d H:i:s")), PDO::PARAM_STR);
$statement->bindParam(":ipaddress", $_POST['ipaddress'], PDO::PARAM_STR);
$statement->bindParam(":type", $_POST['type']), PDO::PARAM_STR);
$statement->execute();
除非您期望表單需要很長時間才能處理,否則在創建查詢時提供日期可能是有意義的。 如果沒有,您可以始終將strtotime
調用放入表單中。
您必須使用以下語法創建sql查詢:
$sql = "INSERT INTO wp_reminders (dateofentry, ipaddress, type) VALUES ('".addslashes($_POST['dateofentry'])."','".addslashes($_POST['ipaddress'])."' ,'".addslashes($_POST['type'])."')";
在您的示例中,您沒有用雙引號包裝索引鍵...
而且,您實際上不應該將php變量放入字符串中,最好將其連接起來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.