2010-06-12 11 views
12

mySql में एकाधिक डेटाबेस से सभी तालिकाओं का चयन कैसे करें .. मैं निम्नलिखित चरणों का पालन कर रहा हूं लेकिन लक्ष्य प्राप्त करने में सक्षम नहीं हूं।एकाधिक डेटाबेस से सभी तालिकाओं को कैसे दिखाएं

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

कृपया मुझे

उत्तर

7

मदद आप

SELECT * FROM database 

ऐसा नहीं कर सकते, लेकिन आप

USE DATEBASE; 
SHOW TABLES; 

या और भी बेहतर कर सकते हैं:

SHOW TABLES IN database 
+4

आप सही एक के रूप में @ cherouvim के जवाब का चयन करना चाहिए! – JonyD

7

और भी बेहतर:

एक एसक्यूएल बयान में सभी डेटाबेस में सभी तालिकाओं (आंतरिक mysql डेटाबेस को छोड़कर) दिखाएं।

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

यह आप निम्नलिखित सामग्री के साथ जगह में एक फ़ाइल ~/.my.cnf होने पर निर्भर करता है:

[client] 
user=ADMINUSER  ## set user, usually 'root' 
password=PASSWORD ## set password 
संबंधित मुद्दे