我试图将数据从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);
答案 0 :(得分:1)
这样做的一种方法是让SQL Engine本身在第一行代码中返回一个字符串值。 在PHP端可能有更多的格式化转换方式,但我对这方面的工作并不那么好。
$sql = "SELECT CONVERT(varchar(10), DateCreated, 101) AS DateCreatedString
FROM Item WHERE Inactive = '0' ";
您可以使用this guide from microsoft中的第三个参数修改许多其他日期格式标准。我使用的101以mm / dd / yyyy格式给出了日期,但实际上每个格式下的格式,包括时间,月份名称,几个世纪,毫秒等,都可以使用其他代码返回。