05-29-2018, 09:54 AM
(This post was last modified: 05-30-2018, 02:06 PM by thiago.bittencourt.)
I'm facing this error in my model function:
This is the function:
The line 125 is
So I wrote an echo(var_export($where, true)); before this to get the content of $where array, and the content is just this:
Why am I having this error and how to solve it?
My environment is:
Code:
An uncaught Exception was encountered
Type: Error
Message: Call to a member function real_escape_string() on boolean
Filename: /var/www/html/project/system/database/drivers/mysqli/mysqli_driver.php
Line Number: 391
Backtrace:
File: /var/www/html/project/application/models/FeedCompanies.php
Line: 125
Function: where
This is the function:
PHP Code:
public function getCompanyMessages($idCompany)
{
$usersModel = $this->modelslibrary->getModelUsers();
$companiesModel = $this->modelslibrary->getModelCompanies();
$where = array(
$usersModel->table_name.'.id_company' => $idCompany,
$this->table_name.'.deleted' => 'N'
);
$this->db->select(
$this->table_name.'.'.$this->primary_key.', '.
$this->table_name.'.token, '.
$usersModel->table_name.'.id_company, '.
$usersModel->table_name.'.slug, '.
$this->table_name.'.id_user, '.
$this->table_name.'.message, '.
$this->table_name.'.posted_as_company, '.
$this->table_name.'.likes, '.
$this->table_name.'.created_at,
getUserName('.$usersModel->table_name.'.name, '.$usersModel->table_name.'.last_name) as name,
getProfilePhotoURL('.$usersModel->table_name.'.profile_photo) as profile_photo,
getCompanyLogo('.$companiesModel->table_name.'.logo) as company_logo, '.
$companiesModel->table_name.'.name as company_name'
);
$this->db->join($usersModel->table_name, $usersModel->table_name.'.'.$usersModel->primary_key.' = '.$this->table_name.'.id_user');
$this->db->join($companiesModel->table_name, $companiesModel->table_name.'.'.$companiesModel->primary_key.' = '.$usersModel->table_name.'.id_company');
$this->db->where($where);
$this->db->order_by($this->table_name.'.created_at ASC');
$queryResult = $this->db->get($this->table_name);
if (!$queryResult) return null;
$messages = $queryResult->result_array();
if (!$messages) return null;
return $messages;
}
The line 125 is
PHP Code:
$this->db->where($where);
So I wrote an echo(var_export($where, true)); before this to get the content of $where array, and the content is just this:
Code:
array (
'users.id_company' => 2,
'feed_companies.deleted' => 'N',
)
Why am I having this error and how to solve it?
My environment is:
- CodeIgniter 3.0.4
- PHP 7.2.5
- Ubuntu 16.04
- MySQL Server 5.7.22
- Apache 2.4.18
PHP Code:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => '{{user}}',
'password' => '{{password}}',
'database' => '{{database}}',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'autoinit' => TRUE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);