gpt4 book ai didi

php - MySQL STR_TO_DATE() 返回无效日期

转载 作者:行者123 更新时间:2023-11-29 12:57:38 24 4
gpt4 key购买 nike

我们的网站需要注册。最近,很明显注册过程多次失败。我在 PHP 代码中实现了多个日志来开始跟踪这一点。如果可能的话,包括一个跟踪 mysql_last_error() 输出的函数。

我的下一步是编写一个脚本,生成注册请求,并为不同的必填字段提供随机值。我的逻辑是,如果这产生了问题 - 问题出在后端逻辑,如果没有 - 问题出在服务器负载上。 (顺便说一句,这是合理的逻辑吗?)

当发送其中许多(我想说大约 150 个)时,我只收到三个错误,并且 mysql_last_error 日志显示了以下内容:

  • [2014 年 5 月 21 日星期三 13:20:45.000000] 日期值不正确:第 1 行“dob”列的“1964-11-31”

  • [2014 年 5 月 21 日星期三 13:48:37.000000] 日期值不正确:第 1 行“dob”列的“1963-11-31”

  • [2014 年 5 月 21 日星期三 13:48:37.000000] 日期值不正确:第 1 行“dob”列的“1967-02-29”

请求以JSON格式发送,dob字段为mm/dd/yyyy格式。我的 PHP 代码中的 SQL 随后如下所示:

"STR_TO_DATE('".$cleanUser['dob']."', '%m/%d/%Y')"

我也尝试在 MySQL Workbench 中执行此操作,以将其与可能的错误代码隔离。但它也在那里失败了。我根本不明白问题是什么,以及为什么它只发生在某些日期。

我们将不胜感激所有帮助,提前致谢

最佳答案

11 月只有 30 天,因此日期 1964-11-31 不存在。

而且 1967 年不是六合年,所以今年 2 月只有 28 天。

顺便说一句,使用参数化查询而不是 SQL 连接,以避免查询容易遭受 SQL 注入(inject)。

关于php - MySQL STR_TO_DATE() 返回无效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23800700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com