我尝试使用STR_TO_DATE()函数插入日期。由于某种原因,它一直在失败。有人可以帮忙吗?感谢
HTML:
<form action="config.php" method="POST">
Total Sales : <br><input type="text" id="total" name="total"><br>
Company Name : <br><input type="text" id="company" name="company"><br>
Sales Type : <br><input type="text" id="type" name="type"><br>
Sales Date : <br><input type="date" id="saledate" name="saledate"><br>
Date Entered : <br><input type="date" id="dateenter" name="dateenter"><br><br>
<input type="submit" value="insert">
</form>
PHP:
<?php
$con=mysqli_connect("***","***","***","***");
$Total = $_POST['total'];
$Company = $_POST['company'];
$Type = $_POST['type'];
$Saledate = $_POST['saledate'];
$Dateentered = $_POST['dateenter'];
$sql = "INSERT INTO htgsales (SaleAmount,Company,SalesType,SalesDate,DateEntered) VALUES ('$Total','$Company','$Type',STR_TO_DATE('$Saledate', '%m/%d/%Y'),STR_TO_DATE('$Dateentered', '%m/%d/%Y'))";
if(!mysqli_query($con,$sql))
{
echo 'Insert Failed';
}
else
{
echo 'Success';
}
?>
答案 0 :(得分:0)
来自MySQL文档:
这是DATE_FORMAT()函数的反转。它采用字符串str和格式字符串格式。如果格式字符串包含日期和时间部分,则STR_TO_DATE()返回DATETIME值;如果字符串仅包含日期或时间部分,则返回DATE或TIME值。如果从str中提取的日期,时间或日期时间值是非法的,STR_TO_DATE()将返回NULL并产生警告。
您为日期获得的帖子参数的值是多少?它们是否与您传递给该功能的格式相匹配?尝试使用$ _POST的var_dump并粘贴值,这样我们就可以检查是否有错误。