在CodeIgniter中db类中的insert方法位于何处?

时间:2015-10-14 14:35:25

标签: sql codeigniter

我是CodeIgniter的新用户,在文档中我看到,为了在数据库中插入一个值,可以调用此方法:

$this->db->insert('ea_appointments', $appointment);

现在这个方法有效,但我已经在$appointment变量中添加了另一个键,实际上$appointment是一个关联数组。此新密钥未插入数据库,因为db类会跳过查询?我不确定这一点。

插入方法在哪里?为什么我的resource_id数组的$appointment字段未插入?

实际上我会继续对easyappointments.org库进行一些更改。有人可以帮我理解更多吗?

1 个答案:

答案 0 :(得分:0)

如果您想插入数据到表格

Table Name =  ea_appointments
Values     =  $appointment

所以查询是

$appointment = array(
   'title'  => 'My title' ,
   'name'   => 'My Name' ,
   'date'   => 'My date'
);

$this->db->insert('ea_appointments', $appointment); 

以正常方式进行上述查询

INSERT INTO ea_appointments (title, name, date) VALUES ('My title', 'My name', 'My date')

示例

你的桌子结构

|   id  |   name    |   telephone   |   address |   mail    |
|-----------------------------------------------------------|   
|       |           |               |           |           |   

,您需要插入以下值

Id          -   1
Name        -   Abdulla
telephone   -   +94755894221
address     -   2444
mail        -   abdullacool04@gmail.com

所以你的Codeigniter插入应该是

$appointment = array(
    'address'    => '2444'.
    'id'         => 1 ,
    'name'       => 'Abdulla' ,
    'mail'       => 'abdullacool04@gmail.com'
    'telephone'  => '+94755894221'  

);

$this->db->insert('ea_appointments', $appointment); 

运行之后,它会像你一样在你的表中查找

|   id  |   name    |   telephone   |   address |   mail    |
|-----------------------------------------------------------|   
|   1   |   Abdulla |   +94755894221|   2444    |   abdullacool04@gmail.com

Codeigniter Insert中的功能

  1. 没有正确的顺序来插入数组$appointment
  2. 易于理解
  3. config/config.php

    中加载数据库
    $autoload['libraries'] = array('database');
    

    因此,您可以使用$this->db关联功能

    1. Select
    2. Insert
    3. Update
    4. Delete
    5. 配置数据库

      转到 - config/databse.php

      在页面底部,您可以配置数据库

      $db['default']['hostname'] = 'localhost';
      $db['default']['username'] = 'root';
      $db['default']['password'] = '';
      $db['default']['database'] = 'my_db_name';//database name
      $db['default']['dbdriver'] = 'mysql';
      $db['default']['dbprefix'] = '';
      $db['default']['pconnect'] = TRUE;
      $db['default']['db_debug'] = TRUE;
      $db['default']['cache_on'] = FALSE;
      $db['default']['cachedir'] = '';
      $db['default']['char_set'] = 'utf8';
      $db['default']['dbcollat'] = 'utf8_general_ci';
      $db['default']['swap_pre'] = '';
      $db['default']['autoinit'] = TRUE;
      $db['default']['stricton'] = FALSE;
      

      一些有用的链接

      1. The Database Class
      2. Auto-loading Resources
      3. Active Record Class