php - CODEIGNITER 调用成员函数 num rows on boolean

标签 php codeigniter

我对 codeigniter 有疑问。当我尝试在这里登录时,结果是:

fatal error :在第 19 行调用 D:\xampp\htdocs\procurementSys\application\models\login_model.php 中 bool 值的成员函数 num_rows()

相关文件代码如下:

  <?php


  class Login_model extends CI_Model {

//this function checks whether the username and the password is in the database or not
public function check_login($username, $password){

    $this->db->select('username, password, status');
    $array = array('username' => $username, 'password' => sha1($password),'status' => 'active');
    $this->db->where($array);
    $query = $this->db->get('user');

    if($query->num_rows() == 1) // if the affected number of rows is one
    {
        return true;
    }
    else
    {
        return false;
    }
}

//this function returns the status of the user to be used in authentication
public function user_login_data($username, $password){

    $this->db->select('status');
    $array = array('username' => $username, 'password' => sha1($password));
    $this->db->where($array);
    $query = $this->db->get('user');

    if($query->num_rows() == 1) // if the affected number of rows is one
    {
         $row = $query->row();
         return $row->status;
    }
  //        else
  //        {
  //            return false;
  //        }
}


public function user_role($username){ // this function gets the user's role from the database
     $this->db->select('role');
     $this->db->where('username', $username);
     $query = $this->db->get('user');
     $row = $query->row(0);

     return $row->role;
}

public function department($username){ // this function gets the user's department from the database
     $this->db->select('department');
     $this->db->where('username', $username);
     $query = $this->db->get('user');
     $row = $query->row(0); // returns the first row with an array of objects that is stored in the row variable

     return $row->department;
}

public function get_user_id($username){ // this function gets the user's department from the database
     $this->db->select('userID');
     $this->db->where('username', $username);
     $query = $this->db->get('user');
     $row = $query->row(0); // returns the first row with an array of objects that is stored in the row variable

     return $row->userID ;
}

public function fullname($username){
     $this->db->select('firstName, secondName');
     $this->db->where('username', $username);
     $query = $this->db->get('user');
     $row = $query->row(0);
     return $row;

  //            foreach($query->result() as $row) // returns the query as an array of objects
  //           {
  //                $data[] = $row; // equates the array of objects to an array variable
  //           }
  //        
  //           return $data;
   // }
}

 }

 ?>

我一直在寻找解决方案并找到了这篇文章 (Call to a member function num_rows() on boolean)。它给了我一个想法,但没有真正的帮助。谢谢

最佳答案

我在启用 MySQL 严格模式时遇到了这个错误。当我禁用严格模式时,错误消失了。

检查此模式是否已启用

SHOW VARIABLES LIKE 'sql_mode';

禁用它

SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';

关于php - CODEIGNITER 调用成员函数 num rows on boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630274/

相关文章:

php - 将图像存储在 mysql 数据库中不起作用。现在怎么办?

php - 用于 PHP session 的 mySQL 和 memcached?

PHP cURL 发送到端口 8080

php - 在 codeigniter 中生成多个结果

php - 如何将这个 PHP 对象数组转换为 json?

php - 发布具有相同名称属性的表单字段

javascript - 如何让 onkeyup 在下一行工作?

php - paypal 成功 url 返回 null

css - 如何使用滑动 slider 在图像底部添加文本

php - codeigniter 连接同一个表多个值