gpt4 book ai didi

codeigniter 调用非对象上的成员函数 row()

转载 作者:行者123 更新时间:2023-12-04 05:35:50 24 4
gpt4 key购买 nike

我已经在天涯海角搜索了这个解决方案,对于其他所有人来说,解决方法是在 autoload.php 中自动加载数据库类。但是,我已经在这样做了,所以我不知道还能去哪里。

Controller :

class Login extends CI_Controller{

function validate_credentials(){
$this->load->model('membership_model');

// call the member function from membership_model.php
$q = $this->membership_model->validate();

if($q){
// user info is valid
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);

$this->session->set_userdata($data);
redirect('site/members_area');

}else{
$this->index();
}

}
}

模型:
class Membership_model extends CI_Model{

function validate(){
// this method is called from the login.php controller
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$q = $this->db->get('members');


if($q->num_rows == 1){

return true;
}

return false;
}
}

请对此有任何帮助,我正在绕圈子

我的下一个想法是 php.ini 需要在我的主机服务器上进行配置,以加载 mysql 模块 - 但我会对此感到非常惊讶吗?

只是为了澄清 - 这条线:
if($q->num_rows)

是问题,说我试图引用一个非对象的属性

最佳答案

实际上

if($q->num_rows)

应该
if($q->num_rows()) // It returns the number of rows returned by the query.

所以你可以使用
if($q->num_rows()) // In this case it'll be evaluated true if rows grater than 0 
{
// code when rows returned
}

关于codeigniter 调用非对象上的成员函数 row(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com