¿Conectar varias tablas en diferentes bases de datos? MySql

Hola, estoy buscando una buena forma de conectarme a al menos 2 bases de datos en mysql utilizando php y recostackndo información de cada una de esas bases de datos.

Las tablas tendrán información relacionada. p.ej. Tengo nombres de sitios en una base de datos (‘siteinfo’) en una tabla llamada ‘sitios’. También tengo las descripciones del sitio en otra base de datos (‘sitedescriptions’) en una tabla llamada ‘descriptions’.

Parece que no puedo obtener estas dos bases de datos para hablar entre ellos. ¿Alguien sabe cómo puedo hacer lo anterior? Soy bastante nuevo en php / mysql.

Además, en la tabla ‘descripciones’ hay tres filas de información que están relacionadas con un sitio en la tabla de sitios. ¿Es posible hacer que esas filas hablen solo con el único sitio al que se refiere?

Gracias por cualquier ayuda.

Una buena estrategia para usted podría ser definir un solo usuario de MySQL que tenga el mismo acceso a ambas bases de datos. Algo como esto:

GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password'; GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 

Una vez que establezca una conexión como ese usuario, tendrá acceso a ambas bases de datos, y podrá hacer referencia a ellas fácilmente prefijando los nombres de su tabla con el nombre de la base de datos.

 SELECT * FROM siteinfo.sites; 

Incluso puede unir sus tablas en las bases de datos de esta manera sin dificultad. Entonces, para responder a su segunda pregunta, para obtener las tres filas descriptivas de un sitio, puede hacerlo (suponiendo que los sitios tienen los mismos identificadores en cada base de datos, o el mismo nombre, o algo único en el que se pueda unir):

 SELECT * FROM siteinfo.sites AS s LEFT JOIN sitedescriptions.description AS d ON s.siteId=d.siteId WHERE s.siteId=123; 

Siempre uso el nombre completo para mis tablas. Entonces, si una tabla llamada tablea está en una base de datos llamada dba, yo haría la siguiente consulta:

 SELECCIONAR * DESDE dba.tablea

Esto le permite cambiar las bases de datos con mucha facilidad. Si no quiere recordar hacer esto, también sugiero que defina constantes para cada una de sus tablas, y en ese momento puede ponerlas.