Php 在null上调用成员函数insert()。共点火器
大家好,我在为我的CI 3网站提交表格时遇到以下错误: 致命错误:调用null上的成员函数insert() 此错误发生在第20行,即:Php 在null上调用成员函数insert()。共点火器,php,mysql,database,codeigniter,Php,Mysql,Database,Codeigniter,大家好,我在为我的CI 3网站提交表格时遇到以下错误: 致命错误:调用null上的成员函数insert() 此错误发生在第20行,即: $query = $this->db->insert('temp_subscribed_users', $data); 以下是完整的功能: public function add_temp_user($key) { echo "hello"; $data = array( 'TEMP_EMAIL' =>
$query = $this->db->insert('temp_subscribed_users', $data);
以下是完整的功能:
public function add_temp_user($key)
{
echo "hello";
$data = array(
'TEMP_EMAIL' => $this->input->post('email'),
'TEMP_KEY' => $key
);
echo var_dump($data);
$query = $this->db->insert('temp_subscribed_users', $data);
if($query)
{
return true;
}else{
return false;
}
}
我不知道null是什么意思。表名是正确的,我进行了var_转储以确认数组正在填充。我还通过回显“hello”来确保进入该函数,并将其输出到页面上
感谢您的帮助,谢谢
附加信息:使用XAMPP localhost运行。首先,您没有使用codeigniter的MVC模型。控制器用于函数,模型用于数据库连接 首先自动加载数据库,如果不只是将其放入代码中。但这里是它应该是什么样子 控制器功能
public function add_temp_user($key)
{
echo "hello";
$this->load->model('MY_MODEL');
//If you're not autoloading db include the next line
//$this->load->library('database');
$data = array(
'TEMP_EMAIL' => $this->input->post('email'),
'TEMP_KEY' => $key
);
echo var_dump($data);
//If you confirmed the data var dumped
$success = $this->MY_MODEL->insert_to_db($data);
if($success == true)
{
//Do something
}
else
{
//Do something
}
}
型号
public function insert_to_db($data)
{
$query = $this->db->insert('temp_subscribed_users', $data);
//
if($query)
{
return true;
}
else
{
return false;
}
}
确保TEMP_EMAIL和TEMP_KEY是数据库中的列,TEMP_subscribed_users是您的表名首先,您没有使用codeigniter的MVC模型。控制器用于函数,模型用于数据库连接 首先自动加载数据库,如果不只是将其放入代码中。但这里是它应该是什么样子 控制器功能
public function add_temp_user($key)
{
echo "hello";
$this->load->model('MY_MODEL');
//If you're not autoloading db include the next line
//$this->load->library('database');
$data = array(
'TEMP_EMAIL' => $this->input->post('email'),
'TEMP_KEY' => $key
);
echo var_dump($data);
//If you confirmed the data var dumped
$success = $this->MY_MODEL->insert_to_db($data);
if($success == true)
{
//Do something
}
else
{
//Do something
}
}
型号
public function insert_to_db($data)
{
$query = $this->db->insert('temp_subscribed_users', $data);
//
if($query)
{
return true;
}
else
{
return false;
}
}
确保TEMP\u EMAIL和TEMP\u KEY是数据库中的列,TEMP\u subscribed\u users是您的表名加载数据库,然后调用insert函数。Codeigniter不会因性能问题自动加载数据库
$this->load->database();
$query = $this->db->insert('temp_subscribed_users', $data);
加载数据库,然后调用insert函数。Codeigniter不会因性能问题自动加载数据库
$this->load->database();
$query = $this->db->insert('temp_subscribed_users', $data);
尝试通过进入config文件夹中的autoload.php并在库的数组中添加数据库来解决问题,如下所示:
$autoload['libraries']=array('database')
尝试通过进入config文件夹中的autoload.php并在库的数组上添加数据库来解决问题,如下所示:$autoload['libraries']=array('database')代码>
请检查是否创建了对象
检查对象在该类中是否可用
请检查是否创建了对象
检查对象在该类中是否可用
在加载“db”之前是否加载?@Deep是的,我已将其自动加载到数据库库。在运行插入之前,您还可以手动加载库。您可以使用$this->load->library('database')代码>在加载“db”之前加载你?@Deep是的,我有它自动加载数据库库。你也可以在运行insert之前手动加载库。您可以使用$this->load->library('database')代码>