【问题标题】:Fatal error: Call to undefined method CI_Model::User_model() [duplicate]致命错误:调用未定义的方法 CI_Model::User_model() [重复]
【发布时间】:2016-10-24 17:19:14
【问题描述】:

有谁知道我怎样才能摆脱这个错误:“致命错误:调用未定义的方法 CI_Model::User_model()”

这是我的 user.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
    class User extends CI_Controller{    
        function user_model(){
            parent::User_model();
            $this->load->model('user_model','',TRUE);
        }
    public function index(){
        $this->login();
    }   
    function login(){
    //xss_clean doesn't work...
        $this->form_validation->set_rules('username', 'Username',                                  
        'required|trim|max_length[50]');
        $this->form_validation->set_rules('password', 'Password',     
        'required|trim|max_length[150]');       
        if ($this->form_validation->run() == FALSE){
            $this->load->view('view_login');
        }
        else{   
        }
    }
}
?>

这是 user_model.php

<?php
class User_model extends CI_Model {
    function user_model(){
        parent::User_model();
    }
    function check_login($username, $password){
        $sha1_password = sha1($password);
        $query_str = "SELECT user_id FROM users WHERE username = ? and          
        password = ?";
        $result = $this->db->query($query_str, array($username,         
        $sha1_password));
        if ($result->num_rows() == 1){
            return $result->row(0)->user_id;
        }
        else{
            return false;
        }
    }
}
?>

这是我的自动加载:$autoload['model'] = array('User_model');

我是 codeigniter 的新手,我正在学习一个教程,在视频中一切正常,但我得到了 crs 的错误。 也许这是一个简单的答案,但我无法得到它。

【问题讨论】:

  • 你为什么在两个班级都打电话给parent::User_model();?你确定这个方法存在吗?

标签: php codeigniter class


【解决方案1】:

以下问题是一些最明显的问题。我强烈建议您go back to the documentation 并更彻底地检查所有内容。


请参阅the documentation 中的示例来构建您的模型。

<?php

class User_model extends CI_Model {
    public function __construct()
    {
        // Call the CI_Model constructor
        parent::__construct();
    }
    function check_login($username, $password)
    { ....

然后refer to the docs 为您的控制器...

<?php

    class User extends CI_Controller {    

        public function index()
        { ....

对于加载,请注意拼写中的大写/小写...

$autoload['model'] = array('user_model');

应该全部用小写when you're referring to it

【讨论】:

  • 你先生,是个英雄。谢谢!
猜你喜欢
  • 2012-08-10
  • 2011-08-05
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多