[英]How to Insert data to a table using codeigniter Active Record queries?
代碼點火器上的模型視圖控制器項目 - 無法使用 Active Record 類將數據插入表中。
錯誤
遇到 PHP 錯誤
嚴重性:注意
消息:未定義的屬性:Store::$Storemdl
文件名:控制器/Store.php
行號:49
回溯:
文件:C:\\xampp\\htdocs\\ci\\application\\controllers\\Store.php 行:49 功能:_error_handler
文件:C:\\xampp\\htdocs\\ci\\index.php 行:292 功能:require_once
致命錯誤:在第 49 行調用 C:\\xampp\\htdocs\\ci\\application\\controllers\\Store.php 中非對象的成員函數 signupchk()
遇到 PHP 錯誤
嚴重性:錯誤
消息:調用非對象上的成員函數 signupchk()
文件名:控制器/Store.php
行號:49
回溯:
模型
<?PHP
defined('BASEPATH') OR exit('No direct script access allowed');
function __construct ()
{
parent ::__construct();
$this->load->database();
}
function signupchk($username)
{
$this->db->select('username');
$this->db->from('users');
$this->db->where('username,$username');
$sql = $this->db->get();
if($sql && $sql->num_rows() > 0)
{
return false;
}
else
{
return true;
}
}
function signup($data)
{
$data = array(
'rusername'=> 'username',
'rpassword'=> 'password',
'remail' => 'email',
'rphone' => 'phone',
'rgender' => 'gender',
'rqualify' => 'qualification',
);
$sql = $this->db->insert('users',$data);
return $sql;
}
} ?>
控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Store extends CI_Controller
{
function index()
{
$this->load->view('home');
}
function login()
{
$this->load->view('login');
}
function signup()
{
$this->load->view('signup');
}
function inserttbl(){
$username = $this->input->post('username');
$rslt = $this->Storemdl->signupchk($username);
if($result){
$this->Storemdl->signup($this->input->post());
}
else
{
echo "username already exists";
}
$this->index();
}
}
?>
發布模型類的代碼,並在您的模型中更改此代碼
$this->db->where('username,$username');
到
$this->db->where('username',$username);
or
$this->db->where("username,$username");// single quote to double quote
在函數中signupchk($username)
你的模型課在哪里? 你可以試試這個:
<?PHP
defined('BASEPATH') OR exit('No direct script access allowed');
class Your_model_name extends CI_Model{
function __construct ()
{
parent ::__construct();
$this->load->database();
}
function signupchk($username)
{
$this->db->select('username');
$this->db->from('users');
$this->db->where('username,$username');
$sql = $this->db->get();
if($sql && $sql->num_rows() > 0)
{
return false;
}
else
{
return true;
}
}
function signup($data)
{
$data = array(
'rusername'=> 'username',
'rpassword'=> 'password',
'remail' => 'email',
'rphone' => 'phone',
'rgender' => 'gender',
'rqualify' => 'qualification',
);
$sql = $this->db->insert('users',$data);
return $sql;
}
}
}
?>
您忘記加載模型。 在插入函數中添加這一行:
$this->load->model('Storemdl');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.