MySQL — подсчёт запросов
Наверное, на некоторых сайтах или на некоторых скриптах Вы могли увидеть такую строчку внизу страницы: “Страница сгенерирована с использованием 8 SQL–запросов” (текст строки, естественно, в разных скриптах разный, а количество запросов вообще варьируется от страницы к странице). Сегодня мы научимся делать также – то есть подсчитывать количество MySQL–запросов.
Возможно, Вы скажете, что это очень просто. Естественно, можно создать переменную и после каждого запроса увеличивать её значение на 1. Но такой подход загрузит код лишним мусором, да и можно сделать намного проще. В этом нам помогут методы ООП.
Мы сделаем специальный класс (назовём его, например, msclass), который будет при создании устанавливать подключение к MySQL и будет иметь метод query, выполняющий SQL–запрос и возвращающий его результат, а заодно и плюсующий значение свойства q_count, которое затем можно будет получить с помощью специального метода get_q_count.
Естественно, Вы можете измениить названия методов и свойств, как и самого класса, а также расширить функциональность этого класса. Против никто не будет, а, наоборот, все будут только “за”. Что ж, приступим!
<?php
// объявляем класс
class msclass
{
var $q_count; // создаём свойство — количество запросов
var $connect; // создаём свойство — идентификатор подключения// объявляем конструктор класса — при создании экземпляра класса устанавливается подключение к MySQL
function msclass ($host, $user, $pass, $base)
{
// обнуляем свойство q_count при создании объекта
$this->q_count = 0;
// устанавливаем подключение
$this->connect = mysql_connect ($host, $user, $pass);
// выбираем используемую базу данных
mysql_select_db ($base, $this->connect);
}// объявляем функцию mysql запроса
function query ($text)
{
// делаем запрос к базе
$q = mysql_query ($text, $this->connect);
// увеличиваем количество запросов на один
$this->q_count++;
// возвращаем программе результат запроса
return $q;
}// объявляем функцию для получения q_count
function get_q_count ()
{
// возвращаем значение свойства q_count
return $this->q_count;
}
}
?>
А теперь напишем простенькую программу, которая будет использовать этот класс. Для этого сохраним код класса в файл msclass.class.php, а в программе просто подключим этот класс и задействуем. Вот код этой программы:
<?php
include (“./msclass.class.php”); // подключаем файл с классом msclass;
// вводим настройки MySQL
$host = “localhost”; // хост
$user = “root”; // пользователь
$pass = “”; // пароль
$base = “test”; // база// создаём объект класса msclass
$msclass = new msclass (“localhost”, “root”, “”, “scriptcat”);// а теперь сделаем несколько запросов: создадим таблицу и заполним её данными
$msclass->query (“CREATE TABLE users (id INT (11) NOT NULL AUTO_INCREMENT, name VARCHAR (30) NOT NULL, PRIMARY KEY (id));”);
$msclass->query (“INSERT INTO users (name) VALUES (‘Admin1′);”);
$msclass->query (“INSERT INTO users (name) VALUES (‘Admin2′);”);
$msclass->query (“INSERT INTO users (name) VALUES (‘Admin3′);”);
$msclass->query (“INSERT INTO users (name) VALUES (‘Admin4′);”);
$msclass->query (“INSERT INTO users (name) VALUES (‘Admin5′);”);// и выведем количество сделанных MySQL–запросов
echo “Данная скрипт использовал <strong>” . $msclass->get_q_count () . “</strong> SQL запросов”;
?>
Ну вот, теперь мы научились выводить количество MySQL–запросов. Часто эта информация бывает очень полезной, например, на этапе отладки скрипта.

Добавить комментарий
Вы должны войти