php - 通过 PHP 将日期从表单传递到 MySQL

标签 php mysql datetime

我正在尝试创建一个表单,通过将事件添加到我的 MySQL 数据库来将事件添加到我的日历中。

这是表格:

<form action="actions.php?action=addEvent" method="post">
    Titel: <input type="text" name="title"><br/>
    Start tid(YYYY-MM-DD HH:MM): <input type="text" name="startDate"><br/>
    Slut tid(YYYY-MM-DD HH:MM): <input type="text" name="endDate"><br/>
    Beskrivning: <br/>
    <textarea rows="15" cols="10" name="description"></textarea>
    <input type="submit" value="Spara">
</form>

这是 PHP 脚本:

if($_GET['action'] == 'addEvent'){
    $title = mysql_real_escape_string($_POST['title']);
    $desc = mysql_real_escape_string($_POST['description']);
    $startDate = date('Y-m-d H:i:s', strtotime($_POST['startDate'] . ":00"));
    $endDate = date('Y-m-d H:i:s', strtotime($_POST['endDate'] . ":00"));

    mysql_query("INSERT INTO events VALUES (null, '$title', '$desc', $startDate, $endDate);") or header("Location: ./?p=calendar.php&msg=" . mysql_error());
    header("Location: ./?p=calendar.php&msg=Sparat");
}

MySQL 列类型是 DATETIME。我应该如何继续将 YYYY-MM-DD HH:MM 字符串从表单转换为允许 mysql_query() 工作的类型。目前我收到 ?msg=Sparat 响应,但没有行输入到数据库中。

最佳答案

您需要用引号将 dates 字段括起来,

mysql_query("INSERT INTO events VALUES (null, '$title', '$desc', '$startDate', '$endDate');") or header("Location: ./?p=calendar.php&msg=" . mysql_error());

关于php - 通过 PHP 将日期从表单传递到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13039107/

相关文章:

PHP:返回数组中两个日期之间的所有日期

c# - 使用单行 `null` 将 'if' 值分配给 Nullable<DateTime>

php - PHP 中的循环脚本

javascript - skel.js 框架/HTML5UP 模板 CSS 问题

javascript - 如何在 PHP 和 MySQL 中根据帖子 id 在分页中找到正确的页面

python - 无法从 MySQL 获取数据并在 Django 中呈现它

mysql - 在特定情况下如何连接两个 mysql 表

PHP Excel Reader 读取 xlsx 文件

mysql - 创建带参数的mysql函数

android - 将日期和时间从日期选择器和时间时间选择器对话框存储到 MySQL