Je cherche à faire un "show tables"
puis un "show table status from nom_base_de_donnees"
mais j'obtiens la réponse à l'itération suivante de la boucle.
Si qqn peut m'expliquer ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 function myrow($data) { return "<td>$data</td>"; } $nb=0; foreach ($db as $BdD) { $nb++; echo "$nb : \$BdD=$BdD" . BR; mysql_select_db($BdD); if ($BdD=='interclassement essai 1') continue; $result=mysql_query('use ' . $BdD); //if (is_resource($result)) mysql_free_result($result); $requete="show tables"; $result=mysql_query($requete); echo "requete=$requete".BR; echo "\$result='$result'" . BR; $cpt=0; while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf(++$cpt . " - %s " . BR,$row[0]); } //mysql_free_result($result); echo '<hr>'; mysql_select_db($BdD); $result=mysql_query('use ' . $BdD); //if (is_resource($result)) mysql_free_result($result); //$requete="show table status"; $requete="show table status from $BdD"; $result=mysql_query($requete); echo "requete=$requete".BR; echo "\$result='$result'" . BR; $num_rows = mysql_num_rows($result); echo "$num_rows enregts" . BR; echo '<table border=3>'; echo '<tr><u>'; echo myrow('cpt'); echo myrow('Name'); echo myrow('Engine'); echo myrow('Version'); echo myrow('Row_format'); echo myrow('Rows'); echo myrow('Avg_row_length'); echo myrow('Data_length'); echo myrow('Max_data_length'); echo myrow('Index_length'); echo myrow('Data_free'); echo myrow('Auto_increment'); echo myrow('Create_time'); echo myrow('Update_time'); echo myrow('Check_time'); echo myrow('Collation'); echo myrow('Checksum'); echo myrow('Create_options'); echo myrow('Comment'); echo '</u></tr>'; $cpt=0; while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { //echo BR . $row . count($row) . $row[0] . BR; ++$cpt; printf ("<tr><td>$cpt</td>"); for ($i = 0; $i < 18; $i++) { printf ("<td>%s</td>", $row[$i]); } printf ("</tr>" . BR); } //mysql_free_result($result); echo '<hr>'; } $ret=mysql_close($connex); if ($ret===false) echo 'erreur de fermeture de la connexion à la base de donnnées !';
Partager