使用Codeigniter插入数据库

时间:2013-01-24 20:44:41

标签: jquery database codeigniter object model

我正在尝试输入一些数据,我将这些数据通过jquery.post发布到服务器中。

note = { // note object that will be sent to the server
    title: $('input.xlarge').val(); ,
    message: $('textarea.xlarge').val(); ,
    }

$.post(link + "cart/addtodb", note,
            function(data){

            if(data == 'true'){
                alert('Your note has been saved');
            }else{
                alert("Something went wrong");
            }   

         });

这是我的codeigniter php代码,用于发送数据的控制器:

public function addtodb()
    {
     $note = $this->input->post('note');
     $this->postit_model->addnote($note);
     echo 'true';  //send true response to client after note has been added to db
    }

现在我有一个名为posts的数据库表,其中包含以下字段:id, title, message.我想将传递的数据集插入数据库。

问题: - 我发送到服务器的jQuery对象中的名称必须与数据库中的字段名称相同才能使用codeigniter $ this-> db-> insert('mytable',$ data);方法

- 我将如何插入值titlemessage而不明确指定我想要插入哪个id以便将此数据集添加到数据库中第一个空位。

1 个答案:

答案 0 :(得分:1)

  

将jQuery对象中的名称发送给   服务器必须与数据库中的字段名称相同   能够使用codeigniter $ this-> db-> insert('mytable',$ data);   方法

没有。您在$data数组中指明字段名称:

$data = array(
    'field_name' => 'field value',
    'other_field' => 'other field value'
);
$this->db->insert('my_table', $data);

http://ellislab.com/codeigniter/user-guide/database/active_record.html#insert

  

如何在没有插入值标题和消息的情况下使用   明确指定我想要插入哪个id以便这样做   数据集只会在第一个空位中添加到数据库中。

创建数据库表时,应将id字段指定为主键/自动增量。这将根据表中的行数自动生成id值。这是标准程序,如果您从其他地方获得数据库或者正在学习数学教程,那么很可能是如何设置数据库的。

http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html