Ваша проблема здесь не в использовании функций базы данных CodeIgniter, а в изменении области видимости в классах. Когда вы загружаете вашу модель, вы подключаетесь к базе данных и присваиваете результат локальной переменной в конструкторе модели. Когда любая функция завершается, локальные переменные отбрасываются. Позже вы попытаетесь вызвать метод query () для переменной $ tdb, которая уже была выброшена, и получите ошибку.
Вам необходимо сохранить результаты $ this-> load-> database () в месте, доступном как для конструктора, так и для метода. Вы можете переместить вызов $ this-> load-> database () в метод контроллера и подключаться к другой базе данных каждый раз, когда вызываете метод Tradmin в вашей модели.
Другой способ, если вы хотите сделать $ tdb доступным для всех методов в модели, это использовать переменную-член класса, которая будет выглядеть следующим образом ...
<?php
class Tadmin_model extends Model{
var $tdb;
function Tadmin_model(){
parent::Model();
$this->tdb = $this->load->database('tdb', TRUE);
}
function FInsert($usernames){
$query = $this->tdb->query("SELECT * FROM following");
return $query->row();
}
}
?>
Надеюсь, это поможет.
Джим.