[英]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.