日付型データを挿入するときに thinkphp エラーが発生する
费师谨
费师谨 2023-03-18 06:44:10
0
1
767

日付型データを挿入する際の thinkphp エラー: 無効な日時形式: 1292 不正な日付値: 行 1 の列 'jfrq' の '2023-03-17T16:00:00.000Z'

费师谨
费师谨

全員に返信(1)
phpcn_u168

ThinkPHP を使用して開発する場合、日付型データを挿入する必要がある場合、エラーが発生する可能性があります。この記事では、一般的なエラーとその修正方法について説明します。

エラーの説明:

日付型データを挿入する場合、通常は date() 関数を使用して現在時刻を取得します。ただし、データを挿入するときに、次のエラー メッセージが表示される場合があります:

Data truncated for column 'date' at row 1

エラーの原因:

このエラーは、通常、MySQL データベースの日付型の列で発生します。その理由は、MySQL の日付型カラムの形式が yyyy-mm-dd であり、date() 関数を使用して現在の日付を取得すると、返される形式が次のとおりであるためです。 yyyy-mm -dd hh:mm:ss、hh:mm:ss 部分はデータベースによって切り捨てられるため、データ切り捨てエラーが発生します。

解決策:

上記のエラーを解決するには、date() 関数によって返される時刻形式を yyyy-mm に手動で変換する必要があります。 -ddフォーマットします。これは、次のコードを使用して実現できます。

$date = date('Y-m-d', time());

上記のコードでは、date() 関数の最初のパラメータは、Y-m-d# などの変換された日付形式です。 ## 日付を yyyy-mm-dd 形式に変換することを示します。同時に、time() 関数を使用して、現在時刻のタイムスタンプを取得しました。

これで、現在の日付が

yyyy-mm-dd 形式に正常にフォーマットされ、データベースへの挿入に使用できるようになりました。

概要:

ThinkPHP を使用して日付型データを挿入すると、データ切り捨てエラーが発生することがよくあります。このエラーの理由は、MySQL の日付型カラムの形式が

date() 関数によって返される形式と異なるためです。この問題は、日付形式を yyyy-mm-dd 形式に手動で変換することで解決できます。この記事が ThinkPHP で開発する際のお役に立てれば幸いです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート