0

我想知道如何在 PDO 中获取数据库的大小。我以前使用过这个,但我不确定如何将它转换为 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;
4

1 回答 1

6

相当直截了当,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"];
于 2013-07-28T17:00:47.173 回答