首页 >数据库 >mysql教程 >如何使用 PHP 正确地将日期从 jQuery DatePicker 插入到 MySQL 数据库中?

如何使用 PHP 正确地将日期从 jQuery DatePicker 插入到 MySQL 数据库中?

Susan Sarandon
Susan Sarandon原创
2024-12-08 16:10:12409浏览

How to Correctly Insert Dates from jQuery DatePicker into a MySQL Database Using PHP?

PHP MySQL 插入的日期格式不正确

当使用 jQuery 的日期选择器使用 PHP 的 mysql_query 函数将日期输入数据库时​​,确保日期格式遵循 MySQL 约定。

MySQL Date格式

如 MySQL 文档中所述,插入 MySQL 数据库的有效日期格式包括:

  • 'YYYY-MM-DD' 或 'YY-MM-带或不带分隔符的 DD'
  • 数字中的“YYYYMMDD”或“YYMMDD”格式
  • 传递给 MySQL 的 FROM_UNIXTIME() 函数的 UNIX 时间戳

“08/25/2012”日期错误

在给定代码,日期选择器设置为格式“08/25/2012”,即MySQL 不将其识别为有效的日期文字。这会导致仅将“0000-00-00 00 00 00”插入数据库。

解决方案

要纠正此问题,您有多种选择:

  1. 配置Datepicker: 使用 altField 和 altFormat 选项设置 Datepicker 以提供受支持格式的日期。
  2. 使用 STR_TO_DATE 函数: 使用 MySQL 的 STR_TO_DATE() 函数转换 jQuery 日期字符串。
  3. 在 PHP 中转换日期:使用例如 DateTime 对象手动将字符串转换为 PHP 中的有效日期。
  4. 手动解析日期:将日期字符串分成各个组成部分并将其组装成有效的 MySQL 格式.

SQL注入漏洞

需要注意的是,所提供的 PHP 代码容易受到 SQL 注入的攻击。考虑利用准备好的语句来防止这种安全风险。

已弃用的 mysql_* 函数

此外,mysql_* 函数在 PHP 中已弃用,建议替换为mysqli 或 PDO_MySQL 扩展。

考虑 DATE输入

最后,考虑使用 MySQL DATE 类型而不是 DATETIME 或 TIMESTAMP 列来存储不带时间组件的日期值。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn