Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara membuat kueri lintas basis data di PHP?

Anda akan membutuhkan database Anda untuk berjalan di host yang sama.

Jika demikian, Anda seharusnya dapat menggunakan mysql_select_db pada db favorit/default Anda dan secara manual menentukan database asing.

$db = mysql_connect($hots, $user, $password);
mysql_select_db('my_most_used_db', $db);

$q = mysql_query("
    SELECT *
    FROM   table_on_default_db a, `another_db`.`table_on_another_db` b
    WHERE  a.id = b.fk_id
");

Jika database Anda berjalan di host yang berbeda, Anda tidak akan dapat bergabung secara langsung. Tapi Anda bisa membuat 2 kueri.

$db1 = mysql_connect($host1, $user1, $password1);
$db2 = mysql_connect($host2, $user2, $password2);

$q1 = mysql_query("
    SELECT id
    FROM   table
    WHERE  [..your criteria for db1 here..]
", $db1);
$tmp = array();
while($val = mysql_fetch_array($q1))
    $tmp[] = $val['id'];

$q2 = mysql_query("
    SELECT *
    FROM   table2
    WHERE  fk_id in (".implode(', ', $tmp).")
", $db2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 2" saat menggunakan Pernyataan VALUES di MySQL

  2. Serangan injeksi SQL dengan php

  3. Libpuzzle Mengindeks jutaan gambar?

  4. Bagaimana saya bisa mengubah ukuran kolom dalam tabel MySQL?

  5. bagaimana cara mengimpor file csv ke mysql dari aplikasi hibernate+spring?