PHP mysql 插入日期格式
使用 'MM/DD/YYYY' 格式的 jQuery 日期选择器将日期插入到MySQL数据库,您可能会遇到插入日期存储为“0000-00-00”的错误00:00:00'。出现此问题的原因是 MySQL 无法将“MM/DD/YYYY”格式识别为有效的日期文字。
根据有关日期和时间文字的 MySQL 文档,MySQL 识别以下格式的 DATE 值:
要解决此问题,您可以探索以下方法options:
从 jQuery 日期选择器字符串创建一个 DateTime 对象:
$date = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
然后,将日期格式化为支持的格式格式:
$date_string = $dt->format('Y-m-d');
使用 STR_TO_DATE 将 jQuery 日期选择器字符串转换为 MySQL 兼容的格式()函数:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
将 jQuery 日期选择器字符串拆分为月、日和年部分,然后创建一个与 MySQL 兼容的string:
$parts = explode('/', $_POST['date']); $mysql_date = "$parts[2]-$parts[0]-$parts[1]";
使用 dateFormat 或 altField altFormat 配置日期选择器以支持的格式输出日期选项:
$( "selector" ).datepicker({ dateFormat: "yyyy-mm-dd" });
或
$( "selector" ).datepicker({ altField: "#actualDate" altFormat: "yyyy-mm-dd" });
警告:
使用准备好的语句来防止 SQL 注入非常重要。此外,考虑使用 MySQL 中的 DATE 数据类型来存储日期,因为它是专门为此目的而设计的。
以上是如何将 jQuery 日期选择器中的日期正确插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!