0

このコードを使用して、この「29-08-2013 12:27:04」日時をこの形式「2013-08-29 12:27:04」に変換しています

$insert_dts = date('Y-m-d H:i:s',strtotime($this->input->post('insert_dts')));

しかし、問題は次のとおりです。値が null になると、'1970-01-01 00:00:00' になります。

を使用し$insert_dtsてデータベースに入力しているため、mysql db の日時フィールドに「0000-00-00 00:00:00」ではなく、この値 (1970-01-01 00:00:00) を入力していました。

$this->input->post('insert_dts')これは、 if elseが nullかどうかをチェックすることで解決できることを知っています。

それぞれをチェックせずに他の解決策はありますか?

4

3 に答える 3

1

トリガーを使用するBEFORE INSERTと、はるかにクリーンな方法になる可能性があります。

http://dev.mysql.com/doc/refman/5.0/fr/create-trigger.html

「いちいちチェックする」とは違うと思うかどうかはわかりません。

于 2013-08-29T07:18:56.667 に答える
0
$time = strtotime($this->input->post('insert_dts'));
if($time == 0)
$insert_dts = date('Y-m-d H:i:s',);
于 2013-08-29T07:18:46.523 に答える
0

単純な:

$insert_dts = $this->input->post('insert_dts') ? date('Y-m-d H:i:s', strtotime($this->input->post('insert_dts'))) : '0000-00-00 00:00:00';
于 2013-08-29T07:20:44.440 に答える