salve ragazzi mi servirebbe sapere come calcolare il peso in bites del database mysql ed il numero di tabelle sapreste consigliarmi cosa fare? grazie
salve ragazzi mi servirebbe sapere come calcolare il peso in bites del database mysql ed il numero di tabelle sapreste consigliarmi cosa fare? grazie
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Con mysql 5 è semplicissimo
Con mysql < 5 puoi farecodice:select count(table_name) as num_tabelle, sum(data_length+index_length) as dimensione from INFORMATION_SCHEMA.TABLES where table_schema = 'nome_database'
show table status from nome_database
e tramite php contare i record e sommare ugualmente i campi Data_length e Index_length
grazie io avrei trovato questo script pero m interesserebbe sapere anche il numero di tabelleCodice PHP:
$db_usr="root";
$db_pwd="maurizio";
$db_host="localhost";
$db = mysql_connect($db_host, $db_usr, $db_pwd) or die ("Connessione non riuscita\n");
mysql_select_db($tdb, $db);
// questa è la funzione che calcola il peso del db
function getdbsize($tdb) {
$sql_result = "SHOW TABLE STATUS FROM " .$tdb;
$result = mysql_query($sql_result);
if($result) {
$size = 0;
while ($data = mysql_fetch_array($result)) {
$size = $size + $data["Data_length"] + $data["Index_length"];
}
return $size;
}else {
return FALSE;
}
}
$tmp = getdbsize("pippo");
if (!$tmp) { echo "ERROR!"; }
else { echo number_format ($tmp,"","",".")." Bytes"; }
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
basta che conti le righe della query show table status
$tabelle = mysql_num_rows($sql_result);
grazie nicola sei stato gentilissimo , ascolta ti volevo chiedere te ne intendi di sessioni ? dovrei salvare le sessioni del login per risalire a chi e online e sto esaurendo ho guardato sul sito ufficiale di php ma niente di utile
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Rileggendo meglio lo script che hai postato in realtà la query corretta sarebbe
$tabelle = mysql_num_rows($result);
Penso sia meglio che apra un thread nuovo per quello. Se spieghi esattamente il tuo problema e sono in grado di darti una mano lo faccio volentieri, altrimenti attendi aiuto da altri.![]()
ciao nicola ma non mi va il calcolo delle tabelle
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Se stai facendo il calcolo all'interno della funzione e vuoi che la stessa restituisca più di un valore come nel tuo caso (cioè numero tabelle e dimensione totale delle stesse) devi mettere i due valori all'interno di un array, far restituire alla funzione quello e poi al momento in cui la richiami accedervi tramite array[0] e array[1].Originariamente inviato da rocco.mod
ciao nicola ma non mi va il calcolo delle tabelle
ciao mi faresti un esempio grazie
Non è tanto importante saper fare,quanto ad avere voglia d imparare .
Codice PHP:function getdbsize($tdb) {
$sql_result = "SHOW TABLE STATUS FROM " .$tdb;
$result = mysql_query($sql_result);
$tables = mysql_num_rows($result);
while ($data = mysql_fetch_assoc($result))
$size+= $data["Data_length"] + $data["Index_length"];
$results[0] = $tables;
$results[1] = $size;
return $results;
}
$risultati = getdbsize('nome_database');
echo $risultati[0];
echo $risultati[1];