sql >> Database teknologi >  >> RDS >> Mysql

Hvordan konstruerer jeg en krydsdatabaseforespørgsel i PHP?

Du skal bruge dine databaser til at køre på den samme vært.

Hvis det er tilfældet, bør du være i stand til at bruge mysql_select_db på din favorit/standard-db og manuelt angive en udenlandsk database.

$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
");

Hvis dine databaser kører på en anden vært, vil du ikke være i stand til at deltage direkte. Men du kan så lave 2 forespørgsler.

$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. Jquery autocomplete og PHP:udfylder inputfelt med data fra mySQL database baseret på valgt mulighed i autocomplete felt

  2. Sådan konverteres fra ét datoformat til et andet i SQL Server ved hjælp af CONVERT()

  3. Skal jeg kun holde mig til AWS RDS Automated Backup eller DB Snapshots?

  4. Introduktion af ny funktion - Spotlight Cloud Reports