MySQL - Zugriffe

BlueSea

Mitglied
Bei einigen Foren wird angezeigt wieviele Zugriffe auf die MySQL gemacht wurden.

Meine Frage ist, wie die es gemacht haben?

Gibt es eine Funktion oder muss ich selbst eine Variabel zählen lassen?
 
Meist verfügen derartige Systeme über eine Datenbankabstraktionsschicht, d.h. alle Datenbankoperationen werden durch bestimmte Funktionen durchgeführt (z.B. db_select statt direkt mysql_select). Neben anderen Vorteilen kann man dann direkt hier bei jedem Aufruf der Funktion eine globale Variable hochzählen und am Ende der Seite ausgeben lassen.
 
Leg dir ein Objekt an, was deine Query's per Methode durchführt, in dem Objekt hast du ein Attribut, was bei jeder Query hochzählt, aber das ist eigentlich das gleiche was hottemp meint ;)
 
PHP:
class db
{
  var $link_id = 0;
  var $queries = 0;
  var $result = 0;

  function connect($host, $user, $pass, $db)
  {
    $this->link_id = mysql_connect($host, $user, $pass);
    mysql_select_db($db, $this->link_id);
  }

  function query($sql)
  {
    $this->result = mysql_query($sql, $this->link_id);
    $this->queries++;
    return $this->result;
  }

  // hier weitere Wrapper-Methoden einfügen
}

$db = new db();
$db->connect("localhost", "blubb", "bla", "db1");

// Abfragen, anderer Code

echo "MySQL-Queries: <b>".$db->queries."</b><br />";

Ungetestet, sollte aber so funktionieren.
 
Zurück