これはエラーです。'SQLSTATE [22007]:予期しない例外' PDOException ':datetime形式が無効です。1366:無効な文字列値
PDOException:メッセージでキャッチされない例外 'PDOException 'SQLSTATE [22007]:無効日時書式:1366不適切な文字列値: 'XF0 \ x9F \ x98 \ XB3文字列' 列の '\' 行で1'
ここで問題がわかります。列テーブルはutf8
を使用しています。 utf8
エンコーディングは4バイト文字を格納できないため、エラーになります。これを回避する方法は、代わりにutf8mb4
を使用することです。
代わりに私の質問は、エラーメッセージです。私たちはMariaDBを使用しています。 エラーメッセージに「Invalid datetime format」と表示されるのはなぜですか?これはテキストフィールドです。実行されているクエリのdatetimeとは関係ありません。
この「無効な日時フォーマット」は、さまざまなエラーに対して頻繁に表示されますが、実際のエラーの原因とは関係がないようです。
あなたの '\ xF0'が与えられていれば、そのフォームに遠く離れていないものも渡しています。実際のクエリを表示していないため、何か手助けすることはできません。 –
Marc B.が言ったこと。 'utf8'でエンコードされた文字列を' datetime'パラメータとして送信しないでください。 – Mjh
このクエリの実行に日付が害されていないと確信しているなら、私たちの生活をより面白くするような奇妙なバグのいくつかを打ったかもしれません。どのように再現可能ですか?あなたは自己完結型の例を提供できますか? –