begin process at 2012 05 28 09:52:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Connaitre la taille de toutes mes base de données (via table_schema)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connaitre la taille de toutes mes base de données (via table_schema)

jeudi 7 octobre 2010 à 17:34:20 | Connaitre la taille de toutes mes base de données (via table_schema)

hdh

Bonjour
Je piétine sur un script pour calculer le volume occupé par mes bases de données sur mon hébergement.
J'ai en effet plusieurs bases de données contenant plusieurs tables.

Auriez vous des pistes pour corriger mon script ??

en effet dans phpmyadmin quand je tape cette requete cela fonctionne impec
Code PHP :
SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS 'Size' FROM information_schema.tables GROUP BY table_schema

mais dès que je l'insère dans ma page php je n'ai qu'un retour sur ma db "premierebase"... c'est pas une surprise car je demande la connexion "premierebase"
Code PHP :
mysql_select_db( "premierebase" )        or die ( "Impossible d'ouvrir : ".mysql_error() );

Ma question est : comment autoriser mon script à se connecter à toutes les bases ? (sachant que mon user a bien les droits pour accéder à toutes les bases)

D'avance grand merci pour votre aide !!

si vous avez un script tout fait cela me convient tout autant, lol

H, penaud



le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
jeudi 7 octobre 2010 à 17:44:56 | Re : Connaitre la taille de toutes mes base de données (via table_schema)

neigedhiver

Salut,

Je ne vois pas d'autre solution que de sélectionner chaque base une par une et exécuter la même requête à chaque fois.
Une boucle foreach sur un tableau contenant les noms de chaque base devrait faire l'affaire, avec une variable $total qui s'incrémente à chaque fois...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
jeudi 7 octobre 2010 à 18:02:41 | Re : Connaitre la taille de toutes mes base de données (via table_schema)

kohntark

Membre Club
Salut,

Je ne vois pas pourquoi ça ne fonctionnerait pas, ... et je ne vois pas non plus pourquoi du fais un
mysql_select_db( "premierebase" )
au lieu d'un :
mysql_select_db('information_schema')

????

Cordialement,

Kohntark -
jeudi 7 octobre 2010 à 18:35:48 | Re : Connaitre la taille de toutes mes base de données (via table_schema)

hdh


Sniff... pas mieux... chkomprendpas

Code PHP :
$db     = "information_schema";
$user     = "aaa";
$pass     = "aaaaaa";
$link     =  mysql_connect( "localhost", $user, $pass );
 
if ( ! $link )      die( "Impossible de se connecter à MySQL".mysql_error() );
mysql_select_db( $db )  or die ( "Impossible d'ouvrir : ".mysql_error() );


$query = mysql_query("SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS 'Size' FROM information_schema.tables GROUP BY table_schema ;",$link);
$nbTotal = mysql_num_rows($query);
print "<hr>".$nbTotal."<hr>";

$i=0;
WHILE($nbTotal!=$i)
    {
    $table_schema     = mysql_result($query,$i,"table_schema"); 
    $Size     = mysql_result($query,$i,"Size"); 
    $content .="<tr><td>".$table_schema."</td><td>".$Size."</td></tr>";
    $i++;
    }


echo "<table  border=1>".$content."</table>";
?>

... et vous ??

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
jeudi 7 octobre 2010 à 18:55:01 | Re : Connaitre la taille de toutes mes base de données (via table_schema)

kohntark

Membre Club

Pour éviter de dire une énième connerie j'ai fait le test : ça fonctionne (en local)

Quel est le résultat exact du script ?
Une erreur ?
L'utilisateur est il le même que celui que tu utilises avec phpMyAdmin ?


Cordialement,


Kohntark -
vendredi 8 octobre 2010 à 11:52:35 | Re : Connaitre la taille de toutes mes base de données (via table_schema)

hdh

Réponse acceptée !

non , c'est je regrette c'est moi le roi de la connerie
m'étais trompé de serveur ca marche impec.
Voilà donc le code qui fonctionne tiptop (avec calcul total en Mo utilisé)
merci pour votre aide precieuse :-)

Code PHP :
$user     = "uuu";
$pass     = "uuuuu";
$link     =  mysql_connect( "uuu", $user, $pass );
 
if ( ! $link )                die( "Impossible de se connecter à MySQL".mysql_error() );
mysql_select_db( $db )        or die ( "Impossible d'ouvrir : ".mysql_error() );


$query = mysql_query("SELECT table_schema, round(sum(data_length+index_length)/1024/1024,4) AS 'Size' FROM information_schema.tables GROUP BY table_schema ;",$link);
$nbTotal = mysql_num_rows($query);
print "<hr>".$nbTotal."<hr>";

$i=0;
WHILE($nbTotal!=$i)
    {
    $table_schema     = mysql_result($query,$i,"table_schema"); 
    $Size     = mysql_result($query,$i,"Size"); 
    $content .="<tr><td>".$table_schema."</td><td>".$Size."</td></tr>";
    $taille = $Size + $taille;
    $i++;
    }


echo "<table  border=1>".$content."<tr><td>total</td><td>".$taille."</td></tr></table>";
?>







le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus


Cette discussion est classée dans : script, table, données, bases, schema


Répondre à ce message

Sujets en rapport avec ce message

gestion table base de données [ par redex01 ] salut tout le monde je suis à la recherche d  un script qui permet de gérer une table ( ajout, modification, suppression ) en affichant des images ass Insertion de données multi tables via un fichier CSV [ par jeremay ] Bonjour ,je suis un petit novice en PHP, et j'ai un gros souci sur un projet.Je m'explique :j'ai une base de données qui a 4 tables. Les quatres ta bl quelle methode pour recuperer des données sur un site [ par nildv ] Bonjour,Je dois coder un script qui permette de recuperer des données sur un site https.Il faut savoir que le lien qui va lancer mon script se trouver [script compteur] A l aide please !! [ par dekovince ] bonjour a tous !!Voici mon probleme :Je suis donc debutant et est encore du mal a visualiser un script in my head !!Voila donc : Que chaque utilisateu recherche script de validation par email [ par nebilphp ] Bonjour , je cherche pour terminer mon site perso (il me manque plus que sa d'ailleur) qui permet a un membre de s'inscrire par le biais d'un formula Bases de données Berkeley (manipulation) [ par Keneyda ] Bonjour, Je chercher a manipuler les bases de données Berkeley *.db, quelqu'un sait til comment cela se passe? Merci d'avanceKeneyda erreur [ par developinform ] Bonjour;je travail sur deux tables de ma BD:la table bases --> les champs : id_B, nom_B, id_Pet la table proget --> les champs : id_P, nom_P, id_Usere Suivre utilisation base de données [ par karakvb ] Bonjour, Je suis en train de reprendre un projet en php, celui ci comprenant plusieurs bases de données et pas mal de tables dans chaque base. J'aime extraire les données d'une table pour un fichier csv [ par greg975 ] salut,j'amerai savoir comment extraire les données d'une table pour les mettres dans un fichier csv? pourriez vous m'indiquer un code?merci d'avance Base de données [ par crash34 ] salut, voila je vous expose mon probleme. Je cherche a mettre a jour une table d'une base de donnée mais que certains champs les autres restants tels


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales