如何使用从模型到控制器codeigneter的变量?

时间:2015-06-28 14:32:23

标签: php codeigniter

你好,我在模型中有这个脚本

<?php

class Log_in extends CI_Model
{

    public function sign_in()
    {
        $Email = $this->input->post('Email');

        $this->db-select('Email');
        $this->db-from('users');
        $this->db->where('Email' , $Email);
        $this->db->limit(1);

        $query = $this->db->get();

        if($query->num_rows() == 1){
            return $query->result();
        }else{
            return false;
        }

    }
}

和这个控制器

<?php

class LogIn_Controller extends CI_Controller{

    function __construct()
    {
        parent::__construct();
    }   


    public function LogIn(){

        $this->load->model('Log_in');

        if($query){
            echo "login success";
        }else{
            echo "error";
        }

    }
}

当我检查(查询)codeigneter是否显示错误页面未定义变量$ query?

5 个答案:

答案 0 :(得分:2)

按照以下

更改您的LogIn控制器
public function LogIn(){

    $this->load->model('Log_in');
    $query = $this->Log_in->sign_in();
    if($query){
        echo "login success";
    }else{
        echo "error";
    }

}

答案 1 :(得分:2)

<?php

    class LogIn_Controller extends CI_Controller{

        function __construct()
        {
            parent::__construct();
            $this->load->model('Log_in');//this load your model once
        }


        public function LogIn(){

            $query = $this->Log_in->sign_in();//assign value to query

            if($query)
            {
                echo "login success";
            }else
            {
                echo "error";
            }
        }
    }

阅读本文

  1. CI Model
  2. CI Controller

答案 2 :(得分:1)

声明一个变量(比如$query

$query = $this->load->model('Log_in');

    if($query){
        echo "login success";
    }else{
        echo "error";
    }



直接检查if条件

    if($this->load->model('Log_in')){
        echo "login success";
    }else{
        echo "error";
    }

答案 3 :(得分:1)

Undefined variable $query显示,因为您没有声明变量"$query"。您可以尝试以下代码:

public function LogIn(){

    $this->load->model('Log_in');
    $query = $this->Log_in->sign_in(); // variable $query declared 
    if($query){
        echo "login success";
    }else{
        echo "error";
    }

}

答案 4 :(得分:1)

首先在控制器中调用主模型 Log_in ,然后在创建一个变量之后调用模型方法...将控制器更改为以下

public function LogIn(){

    $this->load->model('Log_in'); //Load The Model In your construct at Once
    $query = $this->Log_in->sign_in(); //create var and load the model method
    if($query){
        echo "login success";
    }else{
        echo "error";
    }

}