Unirse a tablas de diferentes bases de datos

Estoy tratando de get datos de dos tablas en dos bases de datos diferentes en un mismo server. Estoy usando este código

<?php $host='localhost'; $root='root'; $password='mypass'; $db=mysql_connect($host,$root,$password) or die('unable to connect database'); $dbname='BUSMSTR_10'; mysql_select_db($dbname,$db) or die(mysql_error($db)); $db2=mysql_connect($host,$root,$password) or die('unable to connect database'); $dbname='BULIB_Info'; mysql_select_db($dbname,$db2) or die(mysql_error($db2)); $sql="SELECT m_Student.Stud_Name_Form AS Stud_Name_Form, m_Student.Enrl_no AS Enrl_no, m_Subject.Sub_name AS Sub_name FROM BUSMSTR_05.m_Student m_Student INNER JOIN BULIB_Info.m_Subject m_Subject ON m_Student.Sub_ID=m_Subject.Sub_ID LIMIT 10"; $rs=mysql_query($sql); while($row=mysql_fetch_assoc($rs)){ echo $row['Stud_Name_Form']."|||||".$row['Enrl_no']."|||||".$row['Sub_name']."<BR>"; } 

?>

Pero estoy recibiendo un error. ¿Qué pasa con eso … y cómo voy a arreglar esto?

Error msg —-

 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/budcc/html/student/PHP/Student.php on line 25 

No es realmente difícil unir bases de datos separadas (suponiendo que residan en el mismo server) Al igual que especificaría campos usando "table.field", también puede usar "database.table.field" A continuación se muestra un ejemplo de una database dos join:

 $sql="SELECT db1.table1.somefield, db2.table1.somefield FROM db1.table1 INNER JOIN db2.table1 ON db1.table1.someid = db2.table1.someid WHERE db1.table1.somefield = 'queryCrit';" 

Simplemente escribe tu consulta tal como lo harías si estuvieras trabajando en un db, solo usa la notación de puntos para especificar tus bases de datos también.

En lo que respecta a su problema, no creo que esté agregando nombres de bases de datos antes de nombres de tablas en todas partes. Inténtelo.

Abriste dos conexiones a la database pero no le dijiste a PHP cuál usar para la consulta. En este caso, se asume el último enlace abierto. Pase el recurso de connection a mysql_query() explícitamente.

 $rs=mysql_query($sql, $db);