我将我的ASP CLASSIC网站转换为PHP。该站点使用MS Access作为数据库并使用ODBC连接Databse。我坚持使用日期格式。
我曾经在asp中格式化日期,如下所示:
select U_ID, Trans_Code, Format(Due_Date, 'dd-mmm-yyyy') AS Due_Date
在PHP中使用相同的Format函数,但它返回错误。
警告:odbc_exec():SQL错误:[Microsoft] [ODBC Microsoft Access 驱动程序]别名引起的循环引用' Due_Date'在查询中 定义的SELECT列表。,SQLExecDirect中的SQL状态S1000 第28行的C:\ wamp \ www \ files.php
然后我将别名更改为DDATE
错误消失,数据返回时没有格式化。
我也尝试过非sql方式,但它也会返回错误。
这是我使用的date_format函数。
echo "<td>". Date_Format($DueDate,"d.m.y") ."</td>\n";
返回此错误:
警告:date_format()期望参数1为DateTime,
还尝试了这个:
echo "<td>". Date_Format(DateTime($DueDate,"d.m.y")) ."</td>\n";
非常感谢任何帮助。 。 。 :)
答案 0 :(得分:0)
我修正了错误:)
感谢S. Ahn的建议:
Assign the result from the query to a datetime object first, and then format it
首先创建日期时间对象
$DueDate=date_create(odbc_result($rs,"ddate"));
然后对其进行格式化。
echo "<td>". date_format($DueDate,"j-F-Y") ."</td>\n";