php - 使用php将日期存储到mysql

标签 php mysql

// some code
date_default_timezone_set('Asia/Kolkata');
$datetime = new DateTime("now");

// result: 4th October, 2014. 3:35 PM
$datetime->format("jS F, Y. g:i A");

$value    = $_POST['Cfname'];
$value2   = $_POST['Csubject'];
$value3   = $_POST['Cemail'];
$value4   = $_POST['Cmessage'];
$datetime = $_POST['Ctime'];

$sql = "
    INSERT INTO query
        (Cfname, Csubject, Cemail, Cmessage, Ctime) 
    VALUES 
        ('$value', '$value2', '$value3', '$value4', '$datetime')
";

提交表单后,一切正常,但日期列除外,它存储为 0000-00-00 而不是我指定的格式并出现错误:Undefined index: < strong>Ctime

我是 PHPMySQL 的新手,我不知道为什么会这样。

最佳答案

您在表单中使用哪种输入类型来输入日期?日期列将只接受 Y-m-d 的值,即今天的 2014-10-4。如果您使用 type="date" ,它应该开箱即用。

索引.php:

<?php
$datetime = new DateTime();
?>

<form action="insertSql.php" method="POST">
    <input name="Ctime" type="date" value="<?php echo $datetime->format('Y-m-d') ?>">
</form>

你只需要输入 value="<?php echo $datetime->format('Y-m-d') ?>"如果您希望默认日期为今天。


insertSql.php:

<?php
$datetime = $_POST['Ctime'];

$sql = "INSERT INTO query (Ctime) VALUES ('$datetime')";
?>

如果您想输入 2014 年 10 月 4 日这样的日期,您可以使用 varchar 列,但要知道如果您使用 varchar,它不会在您的数据库中按日期正确排序。

关于php - 使用php将日期存储到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26191993/

相关文章:

php - MySQL 5.7 在 JSON_EXTRACT 键字符串中转义正斜杠

MySql条件 View

javascript - JavaScript ER_PARSE_ERROR

php - 使用中间表从另一个表获取信息

php - MySql 和 mysqli 都不起作用

php - Mysql从其他表中选择昵称?

javascript - AngularJS $http-Service 的问题

php - Foreach 在 PHP 中中断并继续

mysql - Hive 外部表 - 数据位置元数据存储在哪里?

MYSQL 从内部 SELECT 获取计数并使用相同的 ORDER BY