Search code examples
phpcodeigniterauthenticationion-auth

ion_auth fails when get another database instance


In my project, I work with 2 databases, so in some parts when i need to use the secondary database, I use:

$newDB = $this->load->database("otherDB", true);

or

$CI =& get_instance();
$newDB = $CI->load->database("otherDB",true);

to get de instance.

But when I do this, ion_auth fails to keep connection to the original database and throw 2 errors:

Call to a member function result() 

in get_users_groups function, and:

Trying to get property of non-object

in link_menu_acl function.

I tried forcing reload the default databse, but only "fixed" the first problem.

My guess is that when it load the secondary database, ion_auth lose the connection with the default database, but I don't know how to keep it or reconnect it to use both databases.


Solution

  • Ok, the problem was that the main and secondary databases, had set "true" in the persistent connect configuration, so it seems ion_auth "found" the secondary connection and tried the query on it and, possible because an "unknown error" it returned false instead the object.

    Changing the secondary database "pconnect" to "false", solved the problem.

    I only don't understand why it didn't throw a "no table in database" error instead of only "false"