[RESOLU] Savoir le poids d'une table en PDO

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Savoir le poids d'une table en PDO

Re: [RESOLU] Savoir le poids d'une table en PDO

par eljeronimooo » 06 mars 2015, 12:55

Merci beaucoup : )

Re: Savoir le poids d'une table en PDO

par sirakawa » 02 nov. 2014, 11:41

Surtout que le lien est extrêmement clair et facile à suivre:
Dans n'import quel script PHP tu teconnectes et tu sélectionnes la basede dolnnées vouluecomme ceci qu'il m'a fallu taper, ce qui a été le plus long
<?PHP

$mysqli = mysqli_init();
$mysqli->real_connect("localhost", "root", "", "corregidor");
$requete = "SELECT
  table_schema AS NomBaseDeDonnees, 
  ROUND(SUM( data_length + index_length ) / 1024 / 1024, 2) AS BaseDonneesMo 
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA;";
$resultat = $mysqli->query($requete);
while($obj = $resultat->fetch_object()){
	$nombase = $obj->NomBaseDeDonnees;
	$taille = $obj->BaseDonneesMo; 
	print "<br>Nom $nombase $taille";
}
?>

Re: Savoir le poids d'une table en PDO

par xTG » 02 nov. 2014, 10:55

Je suis en train de me demander comment tu fais pour pas être encore plus fatigué que moi à 2h du mat' Moogli... =D>

Re: Savoir le poids d'une table en PDO

par moogli » 02 nov. 2014, 03:11

Oui c'est ce que je pensai aussi, mais là visiblement...
J'ai tester :
$G_bdd = new PDO('mysql:host='.$G_bdd_info['serveur'].';dbname='.$G_bdd_info['nom'].'', ''.$G_bdd_info['pseudo'].'', ''.$G_bdd_info['mdp'].'');

echo $G_bdd->query(" SELECT TABLE_NAME, CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024), 2), 'Mo') AS TailleMo FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'base_v2' ");

Où base_v2 est le nom de ma base mais la valeur retournée est systématiquement 1. :cry: J'en ai tester d'autre mais même résultat...

peux être que si tu lisais un peu plus la doc avant de répondre tu aurais compris que ce que tu fait ne peux pas afficher le résultat ainsi.
La méthode query retourne un objet PDOStatement qui te fournira les données en itérant dessus.
tu as un exemple dans la doc de la fonction query.

Quand à la requête teste la avec un client sql avant de l'utiliser dans ton code. C'est le meilleur moyen d'être certain qu'elle fonctionne (ce qui est le cas de celle fournit par mon premier lien).

@+

Re: Savoir le poids d'une table en PDO

par xTG » 02 nov. 2014, 01:14

Remontes les informations indépendamment dans un premier temps pour tenter de comprendre.
- DATA_LENGTH
- INDEX_LENGTH
- DATA_FREE

Re: Savoir le poids d'une table en PDO

par eljeronimooo » 01 nov. 2014, 22:45

Oui c'est ce que je pensai aussi, mais là visiblement...
J'ai tester :
$G_bdd = new PDO('mysql:host='.$G_bdd_info['serveur'].';dbname='.$G_bdd_info['nom'].'', ''.$G_bdd_info['pseudo'].'', ''.$G_bdd_info['mdp'].'');

echo $G_bdd->query(" SELECT TABLE_NAME, CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024), 2), 'Mo') AS TailleMo FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'base_v2' ");

Où base_v2 est le nom de ma base mais la valeur retournée est systématiquement 1. :cry: J'en ai tester d'autre mais même résultat...

Re: Savoir le poids d'une table en PDO

par Nestecha » 01 nov. 2014, 22:25

Je vois pas en quoi le fait d'être en PDO t'empêche d'afficher des requêtes SQL ?

Re: Savoir le poids d'une table en PDO

par eljeronimooo » 01 nov. 2014, 21:51

Merci mais cette page ne correspond pas à ma demande. Je rappel je suis en PDO :(

Re: Savoir le poids d'une table en PDO

par moogli » 01 nov. 2014, 21:20

salut,

Une petite demande à google et le premier lien te fournit la solution => http://sql.sh/1999-mysql-taille-base-de-donnees ;)

bonne lecture


@+

Savoir le poids d'une table en PDO

par eljeronimooo » 01 nov. 2014, 21:00

Salut à tous :D : )

Voilà mon problème, je fais le back-office de mon site et j'aimerai bien afficher la taille ou le poids (en mo ou autre.. ) de chaque table de ma base de donnée.

Je sais bien que le plus simple c'est d'aller dans phpmyadmin, mais j'aimerai vraiment avoir ces infos sur le site.

Alors si vous avez des idées en PDO ce serai vraiment cool :D