簡體   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