【发布时间】:2017-12-18 05:18:30
【问题描述】:
我检查了一长串问题,这些问题似乎与解决无法将 HTML 中的日期生成转换为 MySQL 兼容的 DATE 格式的问题有关(请注意:DATE 不是 DATETIME)。
使用 HTML 的以下 sn-p,我正在通过 POST 形成一个输入(请注意:表单上还有其他输入,这只是为了便于建模而进行的细分)。
<!-- Language: HTML -->
<form method="post" action="php/editLoan.php">
<input type="date" name="dateOfLoan"/>
</form>
当提交按钮被按下时,信息被 POST 到引用的 PHP 文件中。在这里,发生了很多事情,所以我将仅包括日期发生的事情。
// Language: PHP (7.1), which is the latest supported version for my host.
$dateOfLoan = $_POST["dateOfLoan"]; // Grabs the date of the loan from the postman.
$sqlDate = date("Y-m-d",strtotime($dateOfLoan)); // Converts the format.
$dbh = new PDO($this->connString, $username, $password);
$query = $dbh->prepare("INSERT INTO theTable (theDateField) VALUES ($sqlDate)");
$query->execute();
根据我从寻找答案中看到的情况,这应该可行。但是,当我转到 phpMyAdmin (4.6.6) 时,“theDateField”列显示以下条目。
c:theDateField
0000-00-00
0000-00-00
0000-00-00
0000-00-00
我不太确定我哪里出错了,非常感谢一些指导!非常感谢您的帮助! :D
【问题讨论】:
-
你确定发布日期没有空格或任何其他特殊字符
-
您是否尝试过打印 $dateOfLoan 变量?它在打印什么?