首页 > 后端开发 > php教程 > 如何正确地将日期从 PHP 插入 MySQL?

如何正确地将日期从 PHP 插入 MySQL?

Susan Sarandon
发布: 2024-11-27 03:56:12
原创
351 人浏览过

How to Properly Insert Dates from PHP into MySQL?

如何使用 PHP 在 MySQL 中插入日期

将日期插入 MySQL 可能是一项令人困惑的任务,尤其是在使用不同的日期格式时。本文将演示如何解决使用 PHP 和 MySQL 插入日期的常见问题,重点关注“PHP mysql 插入日期格式”问题。

问题

使用 jQuery 日期选择器时,日期格式通常采用“MM/DD/YYYY”的形式(例如, “2012 年 8 月 25 日”)。但是,MySQL 要求日期值是以下之一格式:

  • 'YYYY-MM-DD'
  • 'YY-MM-DD'
  • YYYYMMDD
  • YYMMDD

尝试在中插入日期"MM/DD/YYYY" 格式会出错并插入 '0000-00-00 00:00:00'。

解决办法

有解决此问题的几个选项:

  1. 配置Datepicker: 将 altFormat 或 dateFormat 选项设置为 'YYYY-MM-DD' 以确保 Datepicker 提供正确格式的日期。
  2. 使用 STR_TO_DATE(): 转换日期字符串使用 STR_TO_DATE() 转换为 MySQL 格式函数:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
登录后复制
  1. 转换为 PHP DateTime: 创建 PHP DateTime 对象并格式化日期或检索时间戳:
$dt = DateTime::createFromFormat('m/d/Y', $_POST['date']);
$date = $dt->format('Y-m-d'); // formatted string
$timestamp = $dt->getTimestamp(); // UNIX timestamp for FROM_UNIXTIME() function
登录后复制
  1. 手动操作字符串:打破将日期字符串拆分成所需的格式:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";
登录后复制

重要说明

  • 使用准备好的语句来防止 SQL 注入。
  • mysql_* 函数已弃用。考虑使用 mysqli 或 PDO_MySQL 代替。
  • 考虑使用 DATE 类型而不是 DATETIME 或 TIMESTAMP 来存储日期。

通过实现这些解决方案之一,您可以成功地将日期插入到正确的格式写入 MySQL。

以上是如何正确地将日期从 PHP 插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板