PHP:从字符串转换日期和/或时间时转换失败

时间:2010-10-26 10:53:55

标签: php sql datetime

我遇到此查询时遇到问题。我有两个来自文本框的日期(不用担心我已经采取了必要的SQL注入步骤)。它们用于查询MS SQL Server DATETIME字段。我收到了这个错误:

Conversion failed when converting date and/or time from character string

这是我的代码:

 //formatting my strings
 $from = strtotime($from);
 $to = strtotime($to);

 //this is the where clause in the SQL statement
 "WHERE (tblBackupArchive.BackupDate BETWEEN '" . $from ."' AND '" . $to . "') "

我做错了什么?

Jonesy

2 个答案:

答案 0 :(得分:0)

strtotime将数据字符串转换为UNIX时间戳 你应该使用

$from = date('Y-m-d H:i:s', strtotime($from));
$to   = date('Y-m-d H:i:s', strtotime($to));

还要记住2K38错误,所以如果你想在2038年之后使用strtotime()转换日期,你将获得0

在此处阅读更多内容:LINK

答案 1 :(得分:0)

您是否检查过字符串的格式是否正确由strtotime转换?如果你转到http://www.php.net/manual/en/datetime.formats.date.php,它会列出所有可接受的格式