2017-02-28 13 views
1

現在、私はCodeigniter 3.1.0を使用しています。私はモデルに$ this-> db-> insert( 'table')を使ってデータを挿入しようとしています。Codeigniter DBの挿入が正しく動作しません(間違った値を挿入します)

問題は、私は0などの特定の提出値を挿入しようとすると、それは0が、代わりに、それは私がデータとその型の値を確認した10

挿入挿入しないだろうということです。

何か提案やアドバイスをいただければ幸いです。前もって感謝します。

$data['Vat'] = 0; 

    foreach ($data as $key => $value) { 
     if ($value === null) { 
      continue; 
     } 
     $this->db->set($key, $value); 
    } 
    // $this->db->set('Vat', 0); 

    $this->db->insert(self::TABLE); 
    $q = $this->db->affected_rows(); 
    return $this->db->insert_id(); 
+0

テーブルの列にはデフォルト値があり、使用するデータキーと同じ名前(および大文字)の列がありますか? – gabe3886

+0

@ gabe3886 私はその列 'Vat'のデフォルト値を持っていません。列名はデータキーとは異なります(列名は「Vat」、データキーは「vat」)。しかし、私はすべて小文字の列であり、挿入に問題はありません。 –

答えて

1

last_query()関数を使用してクエリを調べることができます。 $ this-> db-> insert(self :: TABLE)の後に次の行を追加してください。クエリが完璧かどうかを確認します。あなたはどこに行方不明のアイデアを得るでしょう。

 echo $this->db->last_query(); die;
+0

ありがとうございます。私はあなたの提案を試みました。私はその質問をコピーして実行しました。 VATに正しい値が挿入されます。しかし、モデルを使って日付を挿入しようとすると、希望の値である0の代わりに10が挿入されます。 –

0

クエリが正しかった、しかし、プット・関数の後に、(私は期待していなかった)機能を更新10 に実行され、それはその値を更新しましたご回答ありがとうございました。

関連する問題