繁体   English   中英

使用PHP选择两个日期之间的ms访问

[英]select between two dates ms access using php

我想使用php从ms访问中选择数据,这是我的代码:

$dbdir = "D:\payroll2\ATT2000.MDB";
$conn = odbc_connect("DRIVER=Microsoft Access Driver (*.mdb);DBQ=$dbdir", 
  "administrator", 
  "");
$b = 4104;
$jo = date('n/j/Y h:i:s A',strtotime('2016-01-21 00:00:01'));
$ji = date('n/j/Y h:i:s A',strtotime('2016-01-21 23:59:59'));

$sql = "SELECT TOP 20 * from CHECKINOUT inner join USERINFO on CHECKINOUT.USERID = USERINFO.USERID where USERINFO.SSN = '$b'";
$rs = odbc_exec($conn,$sql);
odbc_fetch_row($rs, 0); 

while (odbc_fetch_row($rs)) { 

echo odbc_result($rs,"CHECKTIME"); print('<br>');

} 
 odbc_close($conn);
}

它工作正常,但我想在两个日期之间选择数据,因此我将AND CHECKINOUT.CHECKTIME between '$jo' and '$ji'添加AND CHECKINOUT.CHECKTIME between '$jo' and '$ji'的查询中,如下所示:

$sql = "SELECT TOP 20 * from CHECKINOUT inner join USERINFO on CHECKINOUT.USERID = USERINFO.USERID where USERINFO.SSN = '$b' AND CHECKINOUT.CHECKTIME between '$jo' and '$ji'";

我不知道为什么它不起作用,请确保数据存在并且我的日期格式像ms访问日期格式一样一直存在。

任何帮助将不胜感激,对不起我的英语不好。

我还相信,使用MSAccess和MS SQL Server,您需要在日期周围使用哈希符号,并且可能还需要使用CDate()来确保将日期识别为日期。

$sql = "SELECT TOP 20 * from CHECKINOUT 
    inner join USERINFO on CHECKINOUT.USERID = USERINFO.USERID 
    where USERINFO.SSN = '$b' AND CDate( CHECKINOUT.CHECKTIME ) between '#{$jo}#' and '#{$ji}#'";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM