获取有关使用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管理员应用程序告诉我的数据库结构,发现它们是相同的。