Ответ 1
$query = $this->db->query($SQL);
return $query->result_array();
У меня проблема с моим запросом и Мне нужно объединить две таблицы из разных баз данных. Теперь моя проблема заключается в том, как я могу выполнить свой запрос. Я получил формат синтаксиса здесь
Пожалуйста, зайдите сначала по этой ссылке, чтобы понять, почему мой синтаксис SQL похож на этот
http://www.x-developer.com/php-scripts/sql-connecting-multiple-databases-in-a-single-query
$ENROLLEES = $this->load->database('ENROLLEES', TRUE);
$ACCOUNTS = $this->load->database('ACCOUNTS', TRUE);
$SELECT = "SELECT $ACCOUNTS.BALANCES_TABLE.IDNO, $ACCOUNTS.BALANCES_TABLE.balance";
$FROM = "FROM $ACCOUNTS.BALANCES_TABLE";
$WHERE = "$ACCOUNTS.BALANCES_TABLE.IDNO IN (SELECT $ENROLLEES.ENROLLEES_TABLE.IDNO FROM $ENROLLEES.ENROLLEES_TABLE)";
$SQL = $SELECT ." ". $FROM ." ". $WHERE;
ОСНОВНАЯ ПРОБЛЕМА: Как выполнить мой запрос?
Если мы сделаем это в CodeIgniter:
$ENROLLEES->query($SQL); or $ACCOUNTS->query($SQL);
Как я могу выполнить свой запрос, что Im имеет несколько баз данных? Что я предложу здесь [database]->query($SQL);
?
$query = $this->db->query($SQL);
return $query->result_array();
Если общий сервер баз данных имеет логин, который имеет привилегии для обеих баз данных и просто выполняет запрос, похожий на:
$query = $this->db->query("
SELECT t1.*, t2.id
FROM `database1`.`table1` AS t1, `database2`.`table2` AS t2
");
В противном случае, я думаю, вам придется запускать два запроса отдельно и впоследствии исправить логику.
Я вижу, что сказал @Þaw:
$ENROLLEES = $this->load->database('ENROLLEES', TRUE);
$ACCOUNTS = $this->load->database('ACCOUNTS', TRUE);
CodeIgniter поддерживает несколько баз данных. Вам нужно сохранить ссылку базы данных в отдельной переменной, как вы это делали выше. Пока вы правы/правильны.
Затем вам нужно использовать их, как показано ниже:
$ENROLLEES->query();
$ENROLLEES->result();
и
$ACCOUNTS->query();
$ACCOUNTS->result();
Вместо использования
$this->db->query();
$this->db->result();
См. это для справки: http://ellislab.com/codeigniter/user-guide/database/connecting.html
http://www.bsourcecode.com/codeigniter/codeigniter-select-query/
$query = $this->db->query("select * from tbl_user");
ИЛИ
$query = $this->db->select("*");
$this->db->from('table_name');
$query=$this->db->get();
return $this->db->select('(CASE
enter code hereWHEN orderdetails.ProductID = 0 THEN dealmaster.deal_name
WHEN orderdetails.DealID = 0 THEN products.name
END) as product_name')
$this- > db- > select ('id, name, price, author, category, language, ISBN, publish_date');
$this->db->from('tbl_books');