PHP在显示SQL查询返回的日期/时间后中断


PHP breaks after displaying date/time returned from SQL query

我正在从sql查询(见下文)拉几个值,一切都很好,直到我尝试在页面上显示LastMessageTime(日期/时间)。当我尝试在页面上显示LastMessageTime时,页面在此之后不呈现任何内容或LastMessageTime。我直接通过SQL查询提取了这个值,得到了这个2013-03-15 17:32:10.000。我不确定我是否需要逃避某些东西,或者如果其他东西丢失

$sql = "SELECT Name, DNSName, LastMessageTime, IDENumber, Version FROM Computers where Name = '$assetname'";
echo "<table border=1 bordercolor=#FFCC00 style=background-color:#FFFFCC width=100%  cellpadding=3 cellspacing=5>";
echo "<tr>";
echo "<td><b>Information</b></td>";
echo "</tr>";
echo "<p style=font-family:verdana,arial,sans-serif;font-size:10px;</p>";
echo "</table>";
echo "<table border =1 width=100% cellpadding=3 cellspacing=5>";
echo "<td> Installed</td>";
echo "<td>".$SAVI2."</td>";
echo "</tr>";
echo "<tr>";
echo "<td> Version</td>";
echo "<td>".$row['Version']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td> IDE Number</td>";
echo "<td>".$row['IDENumber']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td> Last Report time</td>";
echo "<td>".$row['LastMessageTime']."</td>";
echo "</tr>";
echo "</table>";

$vard = $row['LastMessageTime'];回声var_dump ($ vard);

返回页面object(DateTime)#1 (3) {["date"]=> string(19)"2013-03-15 16:47:52"["timezone_type"]=> int(3)["时区"]=>字符串(14)"美国/丹佛"}

$sql = "SELECT Name, DomainName, OperatingSystem, ServicePack, IPAddressText, DNSName, SAVInstalled, LastLoggedOnUser, SAVVersion, identinumber, SAVOnAccess, LastMessageTime FROM Computers where Name = '$assetname'";

$stmt = sqlsrv_query( $conn, $sql );
// Check for 0 results
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {


echo "<table border=1 bordercolor=#FFCC00 style=background-color:#FFFFCC width=100% cellpadding=3 cellspacing=5>";
echo "<tr>";
echo "<td><b>Information</b></td>";
echo "</tr>";
echo "<p style=font-family:verdana,arial,sans-serif;font-size:10px;</p>";
echo "</table>";
echo "<table border =1 width=100% cellpadding=3 cellspacing=5>";
echo "<td> Installed</td>";
echo "<td>".$SAVI2."</td>";
echo "</tr>";
echo "<tr>";
echo "<td> Version</td>";
echo "<td>".$row['SAVVersion']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td> IDE Number</td>";
echo "<td>".$row['IDENumber']."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>last date</td>";
echo "<td>".$row['LastMessageTime']."</td>";
echo "</tr>";
echo "</table>";
$vard = $row['LastMessageTime'];
echo var_dump($vard);
}
/* Close the connection. */
sqlsrv_close( $conn); 
?>

在最后一行之前你缺少了一个;在队伍的最后。

如果$vard = $row['LastMessageTime']; echo var_dump($vard);返回:

object(DateTime)#1 (3) {
    ["date"]=> string(19) "2013-03-15 16:47:52"
    ["timezone_type"]=> int(3)
    ["timezone"]=> string(14) "America/Denver"
}

那么这应该可以输出最后一条消息时间:

echo $row['LastMessageTime']->date;