2010-06-12 27 views
12

Cómo seleccionar todas las tablas de múltiples bases de datos en mySql .. Estoy siguiendo los siguientes pasos pero no logro el objetivo.Cómo mostrar todas las tablas de múltiples bases de datos

<?php 
$a = "SHOW DATABASES"; 
$da = $wpdb->get_results($a); 

foreach($da as $k){ 
echo '<pre>'; 
print_r ($k->Database);//prints all the available databases 
echo '</pre>'; 
$nq = "USE $k->Database";//trying to select the individual database 
$newda = $wpdb->get_results($nq); 
$alld = "SELECT * FROM $k->Database"; 
$td = $wpdb->get_results($alld); 
var_dump($td);//returns empty array 
} 
?> 

por favor me ayude

Respuesta

7

No se puede hacer

SELECT * FROM database 

pero se puede hacer

USE DATEBASE; 
SHOW TABLES; 

o incluso mejor:

SHOW TABLES IN database 
+4

Usted debe seleccionar la respuesta de @ cherouvim como el correcto! – JonyD

7

Aún mejor:

Mostrar todas las tablas de las bases de datos (con excepción de bases de datos MySQL internas) en una instrucción SQL.

SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema NOT IN ('information_schema', 'performance_schema', 'mysql') 
0

mysql -e'select table_schema, table_name from information_schema.tables;'

Esto depende de usted que tiene un archivo ~/.my.cnf en su lugar con el siguiente contenido:

[client] 
user=ADMINUSER  ## set user, usually 'root' 
password=PASSWORD ## set password 
Cuestiones relacionadas