【发布时间】:2018-11-20 03:44:52
【问题描述】:
我正在寻找一种解决方案,以将用户输入从 HTML 输入设置为“datetime-local”值捕获到 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 上的教程中获得了代码,到目前为止它正在运行。我只是希望能够得到他们选择的时间。
更新: 时间正在被节省,但它似乎是在军事时间。例如:输入 = 2018 年 11 月 22 日下午 5:00;输出 = 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 附近的 ' ' 有任何关系,我已经尝试过,但得到了同样的错误。
提前谢谢你!
【问题讨论】: