【发布时间】:2017-04-02 00:32:33
【问题描述】:
我在提交表单后返回了一些搜索结果。一切正常,直到我到达一个 SMALLDATETIME 并允许 NULL 的字段。至少有一个返回的行的字段为 NULL。正如您在下面的代码中看到的那样,当它不是 NULL 时,我将它从 Date 转换为 String 没问题,但是对于具有 NULL 的行,我收到一条错误消息。
有什么想法吗?
代码:
$search_results = sqlsrv_query($database_connection, $search_results_sql, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));
if($search_results){
$returned_rows = sqlsrv_has_rows($search_results);
if($returned_rows === true){
getAssetSearchData($search_results);
}
}
function getAssetSearchData($search_results){
while($search_results_option = sqlsrv_fetch_object($search_results)){
echo "
<tr>
<td class='col45'>".date_format($search_results_option->HardwareAssetLastUpdateTime,"d/m/Y H:i")."</td>
<td class='col46'>".$search_results_option->HardwareAssetLastUpdatedByName."</td>
<td class='col47'>".date_format($search_results_option->HardwareAssetLastDiscoveryScanDate,"d/m/Y H:i")."</td></tr>";
}
}
错误信息:
警告:date_format() 期望参数 1 为 DateTimeInterface, 中给出的null
【问题讨论】:
-
你可以添加一个检查 if($search_results_option->HardwareAssetLastUpdateTime === NULL)。当您将“on update current_timestamp”标志添加到数据库中的 LastUpdateTime 时,也许它可以帮助您
-
date_format 不适用于空日期值。你应该管理这个案子
标签: php sql sql-server