Problem mit SHOW STATUS
alex s.
- php
Hallo zusammen,
möchte gerne die infos aus der DB ausgeben, das mache ich folgendermaßen:
-------------------------------------
print "<table border='0' cellpadding='1' cellspacing='1'>";
require "config.php";
$link2 = mysql_connect($dbhost, $dbuser, $dbpass)
or die ("Could not connect");
mysql_select_db ($dbname)
or die ("Could not select database");
$query2="SHOW STATUS";
$result2 = mysql_query ($query2)
or die ("Show Status From $dbname failed");
while($line2 = mysql_fetch_array($result2))
{
print "
<tr>
<td bgcolor='#7C9BCD'><font class='tdesign01'>Bytes received</td><td>" . $line2['Bytes_received'] . "</td>
</tr>
<tr>
<td bgcolor='#7C9BCD'><font class='tdesign01'>Bytes sent</td><td>" . $line2['Bytes_sent'] . "</td>
</tr>
<tr>
<td bgcolor='#7C9BCD'><font class='tdesign01'>Max used connections</td><td>" . $line2['Max_used_connections'] . "</td>
</tr>";
}
print "</table><br><br>";
------------------------------------
Ergebnis
-----------------------------------------
(Ausgabe ca. 20 mal)
Bytes received
Bytes sent
Max used connections
-----------------------------------------
Ich erhalte das Ergebnis ca. 20mal, allerdings ohne Werte, wenn ich mir das gleiche im phpmyadmin ansehe, sehe ich für bytes_received nur einen wert, für bytes auch und max_used_connections eben auch.
wo ist mein fehler?
gruß alex
Hi,
$line2['Bytes_received']
die Attribute heißen 'Variable_name' und 'Value', d.h. $line2 erhält diese beiden Werte als Index. SHOW STATUS selbst gibt die von dir genannten ca. 20 Zeilen zurück - so oft läuft dann auch deine Schleife.
Da man SHOW STATUS m.W. nicht eingrenzen kann, musst du in der while-Schleife abfragen, ob $line2['Variable_name'] == 'Bytes_received'. Wenn das der Fall ist, $line2['Value'] ausgeben. Für die anderen Werte analog.
P.S.: du solltest immer folgende Zeile an den Anfang deiner Scripte schreiben:
error_reporting(E_ALL);
Dann hätte PHP dir eine notice ausgegeben, nämlich dass 'Bytes_received' als Index im Array $line2 nicht definiert ist, was die Fehlersuche doch erheblich vereinfacht.
Gruß,
Andreas.
Hi Andreas,
vielen Dank für deine Tipps!
Bist spitze!! ;-)
ciao Alex