問題ステートメント:
日時フィールドに NULL 値を格納しようとしたときMySQL では、ユーザーに問題が発生し、「日付時刻値が正しくありません: 」のようなエラー メッセージが表示される場合があります。 for columns 'bill_date'".
解決策:
一部の誤解に反して、MySQL は datetime フィールドの NULL 値をサポートします。 PHP を使用してレコードを更新するときの問題を解決するには、NULL 値を含む変数が正しく渡されていることを確認します。
PHP 変数バインディング:
プリペアド ステートメントを使用している場合は、バインドします。対応する SQL クエリ パラメーターに対する NULL 値を含む PHP 変数。これにより、NULL 値がデータベースに正しく保存されます。
NULL と空の文字列:
PHP 変数が空ではなく実際に NULL を保持していることを確認します。弦。 MySQL は空の文字列を空の日付として解釈するため、エラーが発生する可能性があります。
コード例:
次の PHP コード スニペットは、NULL 値を正しくバインドする方法を示しています。 Prepared Statement を使用した datetime フィールド:
$stmt = $conn->prepare("UPDATE table SET bill_date = ? WHERE id = ?"); $stmt->bind_param("si", $nullDate, $id); $nullDate = NULL; $id = 1; $stmt->execute();
$nullDate は明示的に NULL に設定されることに注意してください。 NULL 値を保持する PHP 変数を慎重にバインドすることで、MySQL の日時フィールドに効果的に NULL を格納できます。
以上がMySQL の日時フィールドで NULL 値を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。