繁体   English   中英

如何使用 codeigniter Active Record 查询将数据插入表?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM