我遇到此查询时遇到问题。我有两个来自文本框的日期(不用担心我已经采取了必要的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
答案 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,它会列出所有可接受的格式