2010-06-12 38 views
12

mySql'de birden çok veritabanından tüm tabloları nasıl seçebilirim? Aşağıdaki adımları yapıyorum ancak hedefi alamıyorum.Birden çok veritabanından tüm tabloları gösterme

<?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 
} 
?> 

Sen

SELECT * FROM database 

yapamaz bana

cevap

7

Yardım ancak daha

USE DATEBASE; 
SHOW TABLES; 

ya da daha iyi yapabileceğini unutmayın:

SHOW TABLES IN database 
+4

Doğru olarak @ cherouvim cevabını seçmelidir! – JonyD

7

Daha da iyisi:

bir SQL deyiminde (iç MySQL veritabanlarının hariç) tüm veritabanlarında tüm tabloları göster.

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;'

Bu aşağıdaki içeriklere sahip bir yerde bir dosyayı ~/.my.cnf sahip bağlıdır:

[client] 
user=ADMINUSER  ## set user, usually 'root' 
password=PASSWORD ## set password 
İlgili konular