<?php
$handle=@mysql_connect("localhost","root","");
if (!$handle)
{
die("No connection to database");
}
echo 'Total number of all-time mysql-queries: '.getTotalNumberOfMySQLQuerys();
//Returns integer-value of the total number of alltime mysql-calls that have been made
function getTotalNumberOfMySQLQuerys()
{
//global mysql-status containing the number of querys has been renamed in newer versions of mysql
$mysqlVersion=getMysqlVersion();
//contact helper-function to receive the mysql-version
if ($mysqlVersion()>=50002)
{
$sql="SHOW GLOBAL STATUS LIKE 'Questions'";
}
else
{
$sql="SHOW STATUS LIKE 'Questions'";
}
$result=@mysql_query( $sql );
$row=@mysql_fetch_array( $result );
return $row['Value'];
}
//helper function is needed to detect the exact mysql-version
function getMysqlVersion()
{
$sql = 'SELECT VERSION() AS versionsinfo';
$result = @mysql_query('SELECT VERSION() AS versionsinfo');
$version = @mysql_result( $result, 0, "versionsinfo" );
$match = explode('.',$version);
return sprintf('%d%02d%02d',$match[0],$match[1],intval($match[2]));
}
?>
Da sich der Name der globalen mysql-status-variable, die die Anzahl der Abfragen enthält, in späteren Versionen von mysql geändert hat, ist eine Hilfsfunktion erforderlich, um die genaue Version von mysql zu ermitteln, die Sie ausführen.
Sieht gut aus, aber
$conn sollte $handle sein.
mysqlVersion()>=50002
sollte sagen
$mysqlVersion>=50002
Dann funktioniert es gut.
Meine ist 77352281 auf einer ziemlich kleinen Seite. Beängstigend!
Danke für die Korrekturen!
Rich's Korrektur funktioniert, gibt es eine Möglichkeit, den ursprünglichen Fehler zu ändern? Ich habe ihn kopiert und eingefügt und musste den Fehler selbst finden, bevor ich daran dachte, in die Kommentare zu schauen. Wenn er im ursprünglichen Tutorial geändert werden könnte, könnte er anderen mehr Zeit sparen.
Hey, das war ziemlich cool, danke dafür. Es funktioniert aber immer noch nicht ohne einige Modifikationen, obwohl das mit jedem grundlegenden Verständnis von PHP kein Problem sein sollte.