如何在 CodeIgniter 中执行我的 SQL 查询

2022-08-30 20:19:52

我的查询有问题,我需要联接来自不同数据库的两个表,现在我的问题是我如何执行查询。我从这里得到了我的语法格式

请先访问此链接,以便您可以理解为什么我的SQL语法是这样的
http://www.x-developer.com/php-scripts/sql-connecting-multiple-databases-in-a-single-query


我使用CodeIgniter,以下是我的查询外观的想法:
请注意我选择列的方式:DATABASE_NAME。TABLE_NAME。COLUMN_NAME
$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);


答案 1
    $sql="Select * from my_table where 1";    
    $query = $this->db->query($SQL);
    return $query->result_array();

答案 2

如果数据库共享服务器,则具有对两个数据库具有特权的登录名,并且只需运行类似于以下内容的查询:

$query = $this->db->query("
SELECT t1.*, t2.id
FROM `database1`.`table1` AS t1, `database2`.`table2` AS t2
");

否则,我认为您可能必须分别运行2个查询,然后修复逻辑。


推荐