「クラス DateTime のオブジェクトを文字列に変換できませんでした」のエラー解決策
日付を表す文字列値を含むデータベース テーブル内特定の形式で、これらの値を別のテーブルに挿入するために DateTime オブジェクトに変換しようとすると、「DateTime クラスのオブジェクトをに変換できませんでした」というエラーが発生します。 string."
問題の理解
PHP の DateTime クラスは、日付と時刻をオブジェクトとして表します。このエラーは、コードが日付の文字列表現を期待する DATE データ型のテーブル列に DateTime オブジェクト ($newdate) を挿入しようとするために発生します。
解決策
このエラーを解決するには、挿入前に DateTime オブジェクトを文字列に変換し直す必要があります。 DateTime::format メソッドを使用すると、DateTime オブジェクトを特定の文字列表現にフォーマットできます。
修正コード
$dateFromDB = $info['Film_Release']; $newDate = DateTime::createFromFormat("l dS F Y", $dateFromDB); $newDate = $newDate->format('Y-m-d'); // Format the date to match the DATE data type
$newDate = $ を追加することで、 newDate->format('Y-m-d');行では、DateTime オブジェクトは、DATE データ型と互換性のある YYYY-MM-DD 形式の文字列としてフォーマットされます。この文字列はテーブルに正常に挿入できます。
以上がPHP で「クラス DateTime のオブジェクトを文字列に変換できませんでした」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。