2014-09-04 72 views
-1

我想做一個PHP腳本來顯示所有數據庫,然後顯示每個數據庫的每個表。這是我迄今爲止所做的,但我需要更短的東西,不要用如此多的變量(函數和其他語言除外):如何顯示所有數據庫和這些分區的所有表

$Cerere1="SHOW DATABASES"; 
$Cerere2="SHOW TABLES FROM `auth`"; 
$Cerere3="SHOW TABLES FROM `auth1`"; 
if($db_list=mysql_query($Cerere1,$con)) { 
    $db_tables1=mysql_query($Cerere2,$con); 
    $db_tables2=mysql_query($Cerere3,$con); 
while($row1 = mysql_fetch_row($db_tables1) && $row2 = mysql_fetch_row($db_tables2)) 
    { 

    } 

如果其能夠使一個單一的SHOW TABLES結構,和在情況下,我有2個數據庫與每個2個表,把結構分成一個單一的查詢,或類似的..和是的,我知道mysql已過時,但我必須使用它

回答

2

是的。您可以SHOW DATABASES,並遍歷結果集。

<?php 

$con = mysql_connect("127.0.0.1", "root", ""); 
$strSQL = "SHOW DATABASES"; 
$resGet = mysql_query($strSQL, $con); 

echo "Number of Databases:". mysql_num_rows($resGet) . PHP_EOL; 

while ($row = mysql_fetch_assoc($resGet)) { 
    $strSQL = "SHOW TABLES FROM ". $row['Database']; 
    $resGet2 = mysql_query($strSQL, $con); 
    echo "<h3>". mysql_num_rows($resGet2) ." Tables in ". $row['Database'] ."</h3> 
      <ul>"; 
    while($row2 = mysql_fetch_array($resGet2)) { 
     echo "<li>". $row2['Tables_in_'. $row['Database']] ."</li>"; 
    } 
    echo "</ul>"; 
} 

輸出示例:

output

+1

謝謝,這正是我一直在尋找 – 2014-09-04 09:49:05

+0

不客氣@PetruLebada – 2014-09-04 09:51:25

相關問題