【发布时间】:2014-04-16 09:19:46
【问题描述】:
我正在运行以下代码:
<?php
include "php/connection.php";
$data = $_GET['data'];
$tsql = "SELECT * FROM Customer WHERE CustomerNumber = ".$data;
$result = sqlsrv_query($link, $tsql);
$row = sqlsrv_fetch_array($result);
echo $row['endDate']->format("Y-m-d H:i:s");
?>
结果集的收集没有问题,问题在于尝试将其作为字符串输出,因为这会引发 500 错误,我怀疑这是因为它作为对象返回但无论我尝试什么我都无法获得数据作为字符串。
endDate 列以这种格式保存数据:
2015-04-16 08:22:00.000
该列是“日期时间”格式。
编辑:
代码已更改以反映当前代码,回显现在显示“1900-01-01 00:00:00”,但应显示的实际数据是“2015-04-16 08:22:00.000”
【问题讨论】:
-
var_dump($row) 显示了什么?
-
您可以尝试对数据进行
print_r,并且您可以尝试不回显某些内容...如果您也遇到了 500 错误,那么还有另一个问题,然后回显对象... -
[endDate] => DateTime 对象([date] => 1900-01-01 00:00:00 [timezone_type] => 3 [timezone] => Europe/Dublin)
-
在您的连接选项technet.microsoft.com/en-us/library/ff628167(v=sql.105).aspx中将
ReturnDatesAsStrings设置为true