2017-03-23 9 views
1

条件を使用してデータベースにデータを挿入するにはどうすればよいですか?現在の状態と同じです...条件は...値がnullの場合、データ1を挿入します。値を挿入し、データ2を挿入します。ここにコードの例を示します。条件PHPでデータベースにデータを挿入するCodeigniter

$insert1 = array(
       'number' => $number, 
       'value' => $value, 
       'car_id' => $car_id, 
       ); 
$insert2 = array(
       'number' => $number, 
       'value' => $value, 
       'status' => 1, 
       ); 
    if('car_id'== NULL) <-----(This is the problem) 
    { 
     $this->db->insert('tbl_a',$insert2); 
    }else 
    { 
     $this->db->insert('tbl_a',$insert1); 
    } 

このような場合はどうすればいいですか?助けてくれてありがとう...

+1

NULLの比較を行うと、動作しません。代わりにis_null($ car_id)関数を使用する必要があります。 – Dimi

+0

ええと...そうだね... if(is_null($ car_id)){.....}? @Dimi –

+2

はい。またはisset($ car_id)。または単にstrlen($ car_id)> 0です。どちらが最善のものであれ。 – Dimi

答えて

0
$insert1 = array(
       'number' => $number, 
       'value' => $value, 
       'car_id' => $car_id, 
       ); 
$insert2 = array(
       'number' => $number, 
       'value' => $value, 
       'status' => 1, 
       ); 
    if($car_id !== NULL) <-----(see here) 
    { 
     $this->db->insert('tbl_a',$insert1); (change here too) 
    }else 
    { 
     $this->db->insert('tbl_a',$insert2);(change here too) 
    } 
0

あなたはヌルチェックを正しく行っていません。

てみてください、 もし(IS_NULL($ car_id)& &はstrlen($ car_id)== 0) // 1エルス //を挿入2

1

car_idを持っているかどうかを確認するためにisset($insert1['car_id'])を使用してみてください挿入値かどうか。

$insert1 = array(
       'number' => $number, 
       'value' => $value, 
       'car_id' => $car_id, 
       ); 
$insert2 = array(
       'number' => $number, 
       'value' => $value, 
       'status' => 1, 
       ); 
    if(isset($insert1['car_id'])) //see here 
    { 
     $this->db->insert('tbl_a',$insert2); 
    }else 
    { 
     $this->db->insert('tbl_a',$insert1); 
    } 
+0

私はエラーが表示されます "あなたは"エントリを更新するために "セット"メソッドを使用する必要がありますときに知らせる " –

+0

あなたが挿入またはデータを更新しますか? –

+0

私はデータを挿入しています...私はすでに多くのことを試みました...しかし、代わりにElse条件を実行しています –

関連する問題