如何在查询中设置odbc日期格式
Hoe to set odbc dateformat in query
我已将 Ms Access 数据库中的数据提取为 PHP JSON 格式。我在查询中传递了日期参数。数据库数据类型为 date/time。查询中需要日期格式 mm/dd/yyyy。
我已经给出结果
ConnectedResource id #4{"status":0,"0":[]}
print_r($stmt)
给
Result Resource id #4 and gone else statment.
<?php
$reg = $_GET['reg'];
$fdate = $_GET['fdate'];
$tdate = $_GET['tdate'];
$yid = $_GET['yid'];
$sql = "select a.RegNo,c.Standard,b.RollNo,d.Division,b.Std_Name as StudentName,AttendanceDate,Attendance_Type,Remark
from (((Attendance_mas as a
inner join Std_Reg as b on a.RegNo = b.RegNo)
inner join StandardMaster as c on a.Standard = c.stdid)
inner join DivisionMaster as d on a.Division =d.DivisionID)
where a.RegNo= $reg and a.AttendanceDate between ($fdate) and
($tdate1) and a.yearid = $yid Order by AttendanceDate desc";
//$sql = "select * from Std_Reg";
$stmt = odbc_exec($conn, $sql);
print_r($stmt);
$result = [];
do {
while ($row = odbc_fetch_array($stmt)){
$result[] = $row;
}
} while (odbc_next_result($stmt));
if(count($result)>0)
{
$result1['status']=1;//"Login successfully";
array_push($result1,$result);
}
else
{
//$result[]="null";
$result1['status']=0;//"Record not found";
array_push($result1,$result);
}
odbc_free_result($stmt);
odbc_close($conn); //Close the connection first
echo json_encode($result1); //You will get the encoded array variable
?>
我建议使用 PDO PREPARED STATEMENT 将参数绑定到您的查询:
$reg = $_GET['reg'];
$fdate = date("m/d/Y", strtotime($_GET['fdate']));//THis will format the date
$tdate = date("m/d/Y", strtotime($_GET['tdate']));
$yid = $_GET['yid'];
$sql = "select a.RegNo,c.Standard,b.RollNo,d.Division,b.Std_Name as StudentName,AttendanceDate,Attendance_Type,Remark
from (((Attendance_mas as a
inner join Std_Reg as b on a.RegNo = b.RegNo)
inner join StandardMaster as c on a.Standard = c.stdid)
inner join DivisionMaster as d on a.Division =d.DivisionID)
where a.RegNo= ? and a.AttendanceDate between (?) and
(?) and a.yearid = ? Order by AttendanceDate desc";
$res = odbc_prepare($conn, $sql);
if(!$res) die("could not prepare statement ".$sql);
$parameters = array($reg,$fdate,$tdate,$yid);
if(odbc_execute($res, $parameters)) {
//Fetch the result
} else {
// handle error
}
我已将 Ms Access 数据库中的数据提取为 PHP JSON 格式。我在查询中传递了日期参数。数据库数据类型为 date/time。查询中需要日期格式 mm/dd/yyyy。
我已经给出结果
ConnectedResource id #4{"status":0,"0":[]}
print_r($stmt)
给
Result Resource id #4 and gone else statment.
<?php
$reg = $_GET['reg'];
$fdate = $_GET['fdate'];
$tdate = $_GET['tdate'];
$yid = $_GET['yid'];
$sql = "select a.RegNo,c.Standard,b.RollNo,d.Division,b.Std_Name as StudentName,AttendanceDate,Attendance_Type,Remark
from (((Attendance_mas as a
inner join Std_Reg as b on a.RegNo = b.RegNo)
inner join StandardMaster as c on a.Standard = c.stdid)
inner join DivisionMaster as d on a.Division =d.DivisionID)
where a.RegNo= $reg and a.AttendanceDate between ($fdate) and
($tdate1) and a.yearid = $yid Order by AttendanceDate desc";
//$sql = "select * from Std_Reg";
$stmt = odbc_exec($conn, $sql);
print_r($stmt);
$result = [];
do {
while ($row = odbc_fetch_array($stmt)){
$result[] = $row;
}
} while (odbc_next_result($stmt));
if(count($result)>0)
{
$result1['status']=1;//"Login successfully";
array_push($result1,$result);
}
else
{
//$result[]="null";
$result1['status']=0;//"Record not found";
array_push($result1,$result);
}
odbc_free_result($stmt);
odbc_close($conn); //Close the connection first
echo json_encode($result1); //You will get the encoded array variable
?>
我建议使用 PDO PREPARED STATEMENT 将参数绑定到您的查询:
$reg = $_GET['reg'];
$fdate = date("m/d/Y", strtotime($_GET['fdate']));//THis will format the date
$tdate = date("m/d/Y", strtotime($_GET['tdate']));
$yid = $_GET['yid'];
$sql = "select a.RegNo,c.Standard,b.RollNo,d.Division,b.Std_Name as StudentName,AttendanceDate,Attendance_Type,Remark
from (((Attendance_mas as a
inner join Std_Reg as b on a.RegNo = b.RegNo)
inner join StandardMaster as c on a.Standard = c.stdid)
inner join DivisionMaster as d on a.Division =d.DivisionID)
where a.RegNo= ? and a.AttendanceDate between (?) and
(?) and a.yearid = ? Order by AttendanceDate desc";
$res = odbc_prepare($conn, $sql);
if(!$res) die("could not prepare statement ".$sql);
$parameters = array($reg,$fdate,$tdate,$yid);
if(odbc_execute($res, $parameters)) {
//Fetch the result
} else {
// handle error
}