2013-07-28 31 views
-1

我想知道如何在PDO中獲得數據庫的大小。我以前使用這個,但林不知道如何將其轉換爲PDO。PHP PDO數據庫的大小

function DatabaseSize(){ 
    $Database = DB_NAZEV; 
    mysql_select_db($Database); 
    $q = mysql_query("SHOW TABLE STATUS"); 
    $size = 0; 
    while($row = mysql_fetch_array($q)) { 
     $size += $row["Data_length"] + $row["Index_length"]; 
    } 
    return $size; 
    } 

謝謝:)

編輯:對不起,那是真的不必要的問題...

我設法逃脫:

$Size = 0; 
    $Pdo = $this->Pdo; 
    $Query = $Pdo->prepare("SHOW TABLE STATUS"); 
    $Query->execute(); 
    $Result = $Query->fetchAll(); 
    foreach ($Result as $Row){ 
     $Size += $Row["Data_length"] + $Row["Index_length"]; 
     } 
    return $Size; 
+0

究竟是什麼你不確定 –

+1

這將導致我相信你不確定如何做PDO查詢。只要找到關於開始使用PDO的任何教程/文檔,您應該立即運行該查詢。 – JimL

回答

5

相當直截了當的SHOW語句像正常的SELECT一樣返回值。

// Connect to database 
$dbh = new PDO('mysql:host=localhost;dbname=test'); 

// Execute query 
$sth = $dbh->query('SHOW TABLE STATUS'); 

// Get size from array 
$size = $sth->fetch(PDO::FETCH_ASSOC)["Data_length"]; 
+0

嗯,我想知道爲什麼這個投票下來? – vascowhite

+0

@vascowhite當你敢於幫助他們認爲過於直接的問題時,有些人傾向於冷靜下來:)爲什麼這會讓它「沒用」我不確定。 –

+6

有時候我希望如果你投票反對,這是強制性的評論。 – JimL