フォームの送信後に検索結果を返します。私がSMALLDATETIMEでNULLを許可するフィールドに到達するまでは、すべて正常に動作しています。返された行の少なくとも1つは、フィールドがNULLである。下のコードでわかるように、NULLでないときはDateからStringに変換しても問題はありませんが、NULLの行のエラーメッセージが表示されます。DateTimeオブジェクトが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ことを期待し、
($ search_results_option-> HardwareAssetLastUpdateTime === NULL)の場合は、チェックを追加できます。おそらく、あなたのDBのLastUpdateTimeに "on update current_timestamp"フラグを追加すると助けになるかもしれません。 – mirko911
date_formatはnullの日付値では機能しません。このケースを管理する必要があります –