【问题标题】:Date is not saving the correct value in database日期未在数据库中保存正确的值
【发布时间】:2019-10-30 14:30:54
【问题描述】:

我目前正在开发一个获取当前日期的请求页面。起初它工作正常并将正确的值保存到数据库中,但在我添加了一个获取今天星期数的代码后,保存在我的 req_date 字段中的值变为 0000-00-00。请帮忙

<?php
$req_date = $_POST['req_date'];

$ddate = date("Y-m-d");
$duedt = explode("-", $ddate);
$date  = mktime(0, 0, 0, $duedt[1], $duedt[2], $duedt[0]);
$week  = (int)date('W', $date);
      
   $sql = "INSERT INTO ops (req_date, week)
            VALUES ('$req_date', '$week')"; 
?>
<td>REQUEST_DATE: </td>
<td><input type="date" name="req_date" value='<?php echo date('Y-m-d');?>'></td>

【问题讨论】:

  • 您是否打印出发布前的日期作为查询?此外,从外观上看,您并没有清理输入,这使您非常容易受到 SQL 注入的影响。最后,您的数据库字段是否分配了日期?它可能与字段要求的格式不匹配
  • 请编辑您的问题并添加表 ops 的架构。此外,您的代码会受到 SQL 注入的影响。将 PDO 或 mysqli 与绑定变量一起使用,而不是直接构建查询。
  • 是的,我正在打印发布前的日期作为查询。数据库字段被分配为日期@SterlingArcher
  • 您的代码中没有任何问题,这表明 $_POST['req_date'] 您的数据库字段的日期格式不正确
  • @Jeemusu 它设置为日期字段

标签: javascript php html mysql date


【解决方案1】:

Chrome 可以把这种格式你得尝试用另一个 datepicker 设置默认格式。

如果您有一个格式为 YYYY-mm-dd 的表格字段并且您使用该代码,这可能会出现问题。你需要先改进你的代码。

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多