"; // // ----------------------------- 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 ""; $lasttype=$res3[2]; // Error or else $lastwarning=$res3[3]; // OK or Corrupt } echo "
".$res3[0]."".$res3[1]."".$res3[2]."".$res3[3]."
"; //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 ""; $lasttype=$res3[2]; // Error or else $lastwarning=$res3[3]; // OK or Corrupt } echo "
".$res3[0]."".$res3[1]."".$res3[2]."".$res3[3]."
"; // 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 ""; } echo "
".$res3['Level']."".$res3['Code']."".$res3['Message']."
"; } 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 ""; } echo "
".$res3['Level']."".$res3['Code']."".$res3['Message']."
"; } else echo "OK, no warnings
"; } //EoAdd } // boucle tables } // if not information_schema } // boucle bases de données echo "Terminé."; ?>