";
//
// ----------------------------- DEFS -----------------------------------
//
GetMyStuff($dbHost,$dbLogin,$dbPassword);
$linkID=mysql_pconnect("$dbHost","$dbLogin","$dbPassword") or die ("bad connect".mysql_error());
$query="show databases;";
$result=mysql_query($query,$linkID) or die ("bad query show DBs".mysql_error());
echo "Check & Repair tables on host '$dbHost' :
";
while ($res=mysql_fetch_array($result)) {
$dbName=$res[0];
if ($dbName<>'information_schema') { //VGR13022006 MOD
mysql_select_db($dbName,$linkID) or die ("bad select DB $dbName. ".mysql_error());
$query="show tables;";
echo "
"; // séparateur entre DBs
$result2=mysql_query($query,$linkID) or die ("bad query show tables of $dbName. ".mysql_error());
while ($res2=mysql_fetch_array($result2)) {
$nomtable=$res2[0];
$lastwarning='';
$lasttype='';
$query="check table $nomtable;";
$result3=mysql_query($query,$linkID) or die ("bad query check table $nomtable of $dbName. ".mysql_error());
echo "CHECK TABLE $nomtable :
";
echo "";
while ($res3=mysql_fetch_array($result3)) {
echo "| ".$res3[0]." | ".$res3[1]." | ".$res3[2]." | ".$res3[3]." |
";
$lasttype=$res3[2]; // Error or else
$lastwarning=$res3[3]; // OK or Corrupt
}
echo "
";
//VGR12012007 ADDed automatic REPAIR TABLE if corrupt
if (($lastwarning=='Corrupt')OR($lasttype=='error')) {
$query="repair table $nomtable;";
$result3=mysql_query($query,$linkID) or die ("bad query shwt status $nomtable of $dbName. ".mysql_error());
echo "REPAIR TABLE $nomtable :
";
echo "";
while ($res3=mysql_fetch_array($result3)) {
echo "| ".$res3[0]." | ".$res3[1]." | ".$res3[2]." | ".$res3[3]." |
";
$lasttype=$res3[2]; // Error or else
$lastwarning=$res3[3]; // OK or Corrupt
}
echo "
";
// display warnings
$query="show warnings;";
$result3=mysql_query($query,$linkID) or die ("bad query get warnings for table $nomtable of $dbName. ".mysql_error());
if (mysql_numrows($result3)>0) {
echo "WARNINGS for REPAIR TABLE $nomtable :
";
echo "";
while ($res3=mysql_fetch_array($result3)) {
echo "| ".$res3['Level']." | ".$res3['Code']." | ".$res3['Message']." |
";
}
echo "
";
} else echo "OK, no warnings
";
}
//EoAdd
//VGR13022006 ADDed
if ($UPDATETABLES) {
$query="show table status where name='$nomtable';";
$result3=mysql_query($query,$linkID) or die ("bad query shwt status $nomtable of $dbName. ".mysql_error());
$res3=mysql_fetch_array($result3); $engine=$res3['Engine'];
$query="alter table $nomtable engine='$engine';";
echo "alter table $nomtable engine='$engine'
";
$result3=mysql_query($query,$linkID) or die ("bad silly engine update for table $nomtable (engine=$engine). ".mysql_error());
// display warnings
$query="show warnings;";
$result3=mysql_query($query,$linkID) or die ("bad query get warnings for table $nomtable of $dbName. ".mysql_error());
if (mysql_numrows($result3)>0) {
echo "WARNINGS for $nomtable :
";
echo "";
while ($res3=mysql_fetch_array($result3)) {
echo "| ".$res3['Level']." | ".$res3['Code']." | ".$res3['Message']." |
";
}
echo "
";
} else echo "OK, no warnings
";
}
//EoAdd
} // boucle tables
} // if not information_schema
} // boucle bases de données
echo "Terminé.";
?>