获取有关使用PHP的MySQL数据库的信息
通过使用MySQL命令。
SHOWTABLESTATUSFROMdatabase;
您可以获得有关数据库的各种信息。该查询将每个表作为一行返回,并提供有关每个表的大量信息。使用此查询可以计算出整个数据库的一些使用情况数据。以下函数将使用数据库名称和数据库资源句柄,并返回该数据库的大小,表数以及这些表中的行数。您可能对数据库中可以存储的数据量有最大限制,因此此功能对于确保不超过此限制很有用。此功能还使用#!上的另一个功能。代码站点调用readableFileSize()以提供更有意义的数据大小。
function getDatabaseInfo($database, $db, $readableSizes=true) {
//设置默认返回值
$size = 0;
$dataLen = 0;
$indexLen = 0;
$rows = 0;
$tables = 0;
//运行SQL
$result = mysql_query('SHOW TABLE STATUS FROM '.$database.';');
if ( $result ) {
//如果结果不存在,则计算出数据值
$tables = mysql_num_rows($result);
while ( $data = mysql_fetch_assoc($result) ) {
$size += ($data['Index_length'] + $data['Data_length']);
$dataLen += $data['Index_length'];
$indexLen += $data['Data_length'];
$rows += $data['Rows'];
};
};
//返回
if ( $readableSizes ) {
return array('size'=>readableFileSize($size),'rows'=>$rows,'index-length'=>readableFileSize($indexLen),'data-length'=>readableFileSize($dataLen),'tables'=>$tables);
} else {
return array('size'=>$size,'rows'=>$rows,'index-length'=>$indexLen,'data-length'=>$dataLen,'tables'=>$tables);
};
}要运行此函数,只需连接到数据库并运行该函数,并传递数据库名称和连接资源。
//打开mysql连接
$handle = mysql_connect('localhost', 'root', 'wibble');
if(!$handle){
die('Connection failed!');
}
echo ''.print_r(getDatabaseInfo('wordpress', $handle,false),true).'';这将打印结果。
Array ( [size] => 1835008 [rows] => 1805 [index-length] => 1277952 [data-length] => 557056 )
只是为了检查一下,我查看了MySQL管理员应用程序告诉我的数据库结构,发现它们是相同的。