Php Codeigniter-向数据库添加数据
我正在尝试使用CodeIgniter框架向数据库添加数据。DB方法返回true,但数据库中没有新数据。 这是我的控制器:Php Codeigniter-向数据库添加数据,php,codeigniter,Php,Codeigniter,我正在尝试使用CodeIgniter框架向数据库添加数据。DB方法返回true,但数据库中没有新数据。 这是我的控制器: class Facebook extends CI_Controller { public function index() { if($this->input->is_ajax_request()) { $this->load->model('user_model','user'
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_用户(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];)
请记住加载数据ABSE:
$this->load->database();
这将在add\u user($data)
eg
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);
}
$this->input->is\u ajax\u request() 这是通过表格发布的吗?如果是这样的话,它应该是$this->input->post('is_ajax_request'); _ajax_request是您发布的输入的名称吗
如果它是控制器中的另一个函数,则需要执行$this->is_ajax_request() 任何。我不知道是什么。你能给我们看看桌子的结构吗?您正在加载数据库吗?您正在加载
数据库吗?或者使用$this->load->database()
或通过autoload.php
?$autoload['libraries']=array('database');$data
看起来像什么?$autoload['libraries']=array('database');使用jqueryajax进行发布