0

phpを使用してmssqlサーバーテーブルからデータをプルしてWebページに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

これを行う 1 つの方法は、SQL エンジン自体がコードの最初の行で文字列値を返すようにすることです。 PHP側で変換するためのより多くのパフォーマンスの方法があるかもしれませんが、私はその側の作業にはあまり向いていません.

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

microsoftのこのガイドにある 3 番目のパラメーターで変更できる日付形式の標準は他にもたくさんあります。私が使用した 101 は日付を mm/dd/yyyy 形式で返しますが、文字通り、時間、月名、世紀、ミリ秒などを含む太陽の下のすべての形式は、他のコードのいずれかを使用して返すことができます。

于 2013-01-26T00:45:01.343 に答える