php - num_rows - query codeigniter example
Cómo ejecutar mi consulta SQL en CodeIgniter (6)
Tengo un problema con mi consulta y necesito unir dos tablas de diferentes bases de datos ahora mi problema es cómo puedo ejecutar mi consulta. Tengo mi formato de sintaxis de aquí
Visite primero este enlace para que pueda entender por qué mi sintaxis SQL es así
http://www.x-developer.com/php-scripts/sql-connecting-multiple-databases-in-a-single-query
Observe la forma en que selecciono mis columnas: 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;
PROBLEMA PRINCIPAL: ¿Cómo ejecutar mi consulta?
Si nos gusta esto en codeIgniter:
$ENROLLEES->query($SQL); or $ACCOUNTS->query($SQL);
¿Cómo puedo ejecutar mi consulta que tengo múltiples bases de datos? ¿Qué voy a proporcionar aquí
[database]->query($SQL);
?
$ this-> db-> select (''id, nombre, precio, autor, categoría, idioma, ISBN, publish_date'');
$this->db->from(''tbl_books'');
Puedo ver lo que @ Þaw mencionó:
$ENROLLEES = $this->load->database(''ENROLLEES'', TRUE);
$ACCOUNTS = $this->load->database(''ACCOUNTS'', TRUE);
CodeIgniter soporta múltiples bases de datos. Debe mantener ambas referencias de la base de datos en una variable separada como lo hizo anteriormente. Hasta aquí estás en lo correcto / correcto.
A continuación necesitas usarlos como se muestra abajo:
$ENROLLEES->query();
$ENROLLEES->result();
y
$ACCOUNTS->query();
$ACCOUNTS->result();
En lugar de usar
$this->db->query();
$this->db->result();
Vea esto para referencia: http://ellislab.com/codeigniter/user-guide/database/connecting.html
Si las bases de datos comparten un servidor, tenga un inicio de sesión que tenga privilegios para ambas bases de datos, y simplemente haga que una consulta se ejecute de forma similar a:
$query = $this->db->query("
SELECT t1.*, t2.id
FROM `database1`.`table1` AS t1, `database2`.`table2` AS t2
");
De lo contrario, creo que podría tener que ejecutar las 2 consultas por separado y luego corregir la lógica.
http://www.bsourcecode.com/codeigniter/codeigniter-select-query/
$query = $this->db->query("select * from tbl_user");
O
$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'')
$query = $this->db->query($SQL);
return $query->result_array();