php - 将带有日期时间值的 HTML 输入发布到 MySQL 数据库

标签 php html mysql database

我正在寻找一种解决方案,用于将用户输入从设置为“datetime-local”值的 HTML 输入捕获到 MySQL 数据库中,并将表字段设置为“datetime”。每当我提交表单时,都会生成一个 ID 并保存日期,但不会保存时间。例如:2018-11-20 00:00:00。

我的 HTML:

<form class="" action="/index.php" method="post">
  <input type="datetime-local" name="myDate" id="myDate"><br /><br />
  <button id="submit" value="submit">Submit</button><br /><br />
</form>

我的 PHP:

// Check Our Connection
if ( $mysqli->connect_error ) {
  die( 'Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error );
}

// Insert Our Data
$sql = "INSERT INTO test_one ( mydate ) VALUES ( '{$mysqli->real_escape_string($_POST['myDate'])}' )";
$insert = $mysqli->query($sql);

// Print Response from MySQL
if ( $insert ) {
  echo "Success! Row ID: {$mysqli->insert_id}";
} else {
  die("Error: {$mysqli->errno} : {$mysqli->error}");
}

// Close Connection
$mysqli->close();

我从 Youtube 上的教程中获得了代码,到目前为止它正在运行。我只是希望能够获得他们选择的时间。

更新: 时间正在节省,不过似乎是军用时间。例如:输入 = 11/22/2018 5:00 PM ;输出 = 2018-11-22 17:00:00

第一条评论后更新: 这将我定向到失败的 HTTP 请求 -

  // Check Our Connection
  if ( $mysqli->connect_error ) {
    die( 'Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error );
  }

  // Insert Our Data
  $date = strftime('%Y-%m-%d %H:%M:%S', strtotime(real_escape_string($_POST['myDate'])));
  $sql = "INSERT INTO test_one ( mydate ) VALUES ( '{$mysqli->real_escape_string($_POST['$date'])}' )";
  $insert = $mysqli->query($sql);

  // Print Response from MySQL
  if ( $insert ) {
    echo "Success! Row ID: {$mysqli->insert_id}";
  } else {
    die("Error: {$mysqli->errno} : {$mysqli->error}");
  }

  // Close Connection
  $mysqli->close();

如果它与 $date 周围的“”有任何关系,我已经尝试过但没有得到相同的错误。

提前谢谢您!

最佳答案

问题是 datetime-local中间加一个T,即2018-11-19T10:52:23。您必须更改格式才能删除 T。也许可以尝试以下操作:

$date = strftime('%Y-%m-%d %H:%M:%S', strtotime(real_escape_string($_POST['myDate'])));

关于php - 将带有日期时间值的 HTML 输入发布到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53385909/

相关文章:

php - 管理用户查看个人资料系统并传递 id 到查看个人资料页面以显示正确的头像图像

html - 如何正确显示带有文本的每个 li 的图像

html - 我的 table 不允许我的复选框并排放置。

mysql - 如何避免mysql表中的内容重复?

php - 如何在没有小部件工厂的情况下为 Yii2 中的 GridView 设置默认配置?

php - Mysql - 从多个表中选择而不产生重复数据

javascript - HTML 实体解码

php - mysql错误: Mysql server has gone away

Mysql使用 "as"进行更多计算

PHP:将文件从网络下载到本地计算机