簡體   English   中英

Codeigniter-將數據添加到數據庫

[英]Codeigniter - Add data to the database

我正在嘗試使用CodeIgniter框架向數據庫添加數據。 DB方法返回true,但是數據庫中沒有新數據。 有我的控制器:

class Facebook extends CI_Controller
{
    public function index()
    {
        if($this->input->is_ajax_request())
        {
            $this->load->model('user_model','user');
            $data = array();
            $data['u_ip'] = $this->input->ip_address();
            $this->user->add_user($data);
        }
    }
}

這是我的模型:

class User_model extends CI_Model
{
    public function add_user($data)
    {
        $this->db->insert('users',$data);
        //$res = $this->db->insert('users',$data); (true)
    }
}

更新:有我的數據庫:id_users(int 255)AI,密鑰u_ip(varchar 100)

另外,請確保您的$data如下所示:

$data = array(
    "u_ip" => $this->input->ip_address(),
);

$this->insert("data", $data);

或者,如果來自另一個文件,請執行以下操作:

$this->insert("users", $data[0];)

記住要加載數據庫:

$this->load->database();

這將在add_user($data)

class User_model extends CI_Model
{
    public function add_user($data)
    {
        $this->load->database();
        $this->db->insert('users',$data);
        //$res = $this->db->insert('users',$data); (true)
    }
}

但是,您可以自動擁有這些文件,如果轉到autoload.php ,則可以執行以下操作:

$autoload['libraries'] = array('database');

對於您的模型:

$autoload['model'] = array('logic');

您在查詢中沒有提及任何列名。 試試下面的代碼-

class User_model extends CI_Model{

public $db;
public function __construct(){
    parent::__construct();
    $this->db = $this->load->database('default',true);

}

public function add($data)
{
    $data = array(
      'title' => 'My title' ,
      'name' => 'My Name' ,
      'date' => 'My date'
    );

    $this->db->insert('mytable', $data);
} 

$這個 - >輸入 - > is_ajax_request()

這是通過表格發布的嗎? 如果是這樣,應該是$ this-> input-> post('is_ajax_request'); is_ajax_request是您發布的輸入的名稱,

如果它是控制器中的另一個功能,則需要執行$ this-> is_ajax_request();。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM