Codeigniter插入空值,忽略MySQL中表字段的默认值

时间:2011-07-17 12:59:40

标签: php mysql codeigniter default

我正在对表进行插入,有些数据为空,所以我希望某些字段能够获得我指定的默认值。

$data = array(
            'id'            => $id,
            'user'       => $this->input->post('name'),
            );

$this->the_model->the_model_funciton($data);

问题在于用户字段,字段的默认值是'Anon'但是当帖子中没有数据('name')时,会在字段中插入空值而不是默认值。

用户字段是varchar,null。

3 个答案:

答案 0 :(得分:5)

会这样做吗?

$data = array(
           'id'   => $id
       );

if ($user = $this->input->post('name')) {
   $data['user'] = $user;
}

答案 1 :(得分:2)

这可能与post方法有关。当name为空或未定义时,它将返回一个空字符串。然后在列中输入。

答案 2 :(得分:1)

试试这个

$default_user = "Anon";
$username = $this->input->post('name');
if($username == empty) ? $username = $default_user : $this->input->post('name'));
$data = array(
            'id'            => $id,
            'user'       => $this->input->post('name'),
            );

$this->the_model->the_model_function($data);