0

我正在尝试从 mssql 服务器表中提取数据以使用 php 在网页中打印 html 表,我拉下的数据是“DateTime”列,当我运行脚本时,我收到错误消息“类 DateTime 对象不能转换为字符串"

以下是我的脚本。谁能指出我正确的方法?非常感谢你。

$sql = "SELECT  DateCreated FROM Item WHERE Inactive = '0' ";

$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}


while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
   $html_table = '<table border="1" cellspacing="0" cellpadding="2">';
  $html_table .= '<tr><td width="100" align="center">' .$row['DateCreated'].'</td></tr>';

$html_table .= '</table>'; 
echo $html_table;  


}
sqlsrv_free_stmt( $stmt);
4

1 回答 1

1

一种方法是让 SQL 引擎本身在您的第一行代码中返回一个字符串值。 在 PHP 端转换可能有更多的性能方法,但我对这方面的工作不太好。

$sql = "SELECT CONVERT(varchar(10), DateCreated, 101) AS DateCreatedString 
FROM Item WHERE Inactive = '0' ";

您可以使用microsoft 的本指南中的第三个参数修改许多其他日期格式标准。我使用的 101 以 mm/dd/yyyy 格式返回日期,但实际上可以使用其他代码之一返回太阳下的每种格式,包括时间、月份名称、世纪、毫秒等。

于 2013-01-26T00:45:01.343 回答