Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Посчитать количество запросов к базе
 
 автор: neokortex   (28.09.2009 в 23:12)   письмо автору
 
 

Как посчитать количество запросов к базе "за формирование одной страницы"?

  Ответить  
 
 автор: Yuriev   (28.09.2009 в 23:37)   письмо автору
 
   для: neokortex   (28.09.2009 в 23:12)
 

После каждого запроса поставить
$count ++
и в конце скрипта
echo $count

  Ответить  
 
 автор: Рома   (29.09.2009 в 00:03)   письмо автору
 
   для: Yuriev   (28.09.2009 в 23:37)
 

а если в одном цикле запросов еще один цикл запросов, сработает?

  Ответить  
 
 автор: Trianon   (29.09.2009 в 00:07)   письмо автору
 
   для: neokortex   (28.09.2009 в 23:12)
 

Самый простой способ - написать подсчитывающую обложку к функции mysql_query .
И пользоваться только ей.

  Ответить  
 
 автор: Рома   (29.09.2009 в 00:26)   письмо автору
 
   для: Trianon   (29.09.2009 в 00:07)
 

А как это? Написать функцию, которая принимает в сябя запрос и предыдущее число запросов, а возврашает результат/false и снова число?

  Ответить  
 
 автор: Trianon   (29.09.2009 в 00:33)   письмо автору
 
   для: Рома   (29.09.2009 в 00:26)
 

так чтобы Вы вызывапи её , а она уже вызывала mysql_query()

  Ответить  
 
 автор: Рома   (29.09.2009 в 00:41)   письмо автору
 
   для: Trianon   (29.09.2009 в 00:33)
 

как нибудь так?
<?php
function count_query($sql,$count_sql)
 {
 
$res=mysql_query($sql);
 if(!
$res)
  {
  
//???
  
}
 else
  {
  
$count_sql++;
  return 
$res;
  return 
$count_sql;
  }
 }
?>

  Ответить  
 
 автор: Trianon   (29.09.2009 в 01:02)   письмо автору
 
   для: Рома   (29.09.2009 в 00:41)
 

а зачем проверять результат?

и время существования обычной переменной - лишь до конца вызова. Так что слегка иначе.

  Ответить  
 
 автор: Рома   (29.09.2009 в 01:10)   письмо автору
 
   для: Trianon   (29.09.2009 в 01:02)
 

<?php
function count_query($sql,$count_sql)
 {
 
$res=mysql_query($sql);
 
$count_sql++;
 return 
$res;
 return 
$count_sql;
 }
?>

Видимо так

>и время существования обычной переменной - лишь до конца вызова

вот этого я не понял...

т.е. переменная количества запросов собьётся?

  Ответить  
 
 автор: Trianon   (29.09.2009 в 01:17)   письмо автору
 
   для: Рома   (29.09.2009 в 01:10)
 

<?php
function my_query($sql
{    
    static 
$count 0
    if(
$sql == null)  return $count;
    ++
$count;
    return 
mysql_query($sql);  
}
?> 

  Ответить  
 
 автор: Рома   (29.09.2009 в 01:21)   письмо автору
 
   для: Trianon   (29.09.2009 в 01:17)
 

это уже попроще

  Ответить  
 
 автор: Trianon   (29.09.2009 в 01:45)   письмо автору
 
   для: Рома   (29.09.2009 в 01:21)
 

Отнюдь. Попроще как раз тот, что был сперва.

  Ответить  
 
 автор: neokortex   (29.09.2009 в 02:33)   письмо автору
 
   для: Trianon   (29.09.2009 в 01:45)
 

спасибо всем - идея ясна.
логическое продолжение темы

  Ответить  
 
 автор: Рома   (03.10.2009 в 00:38)   письмо автору
 
   для: Trianon   (29.09.2009 в 01:45)
 

можно еще вот так было
<?php
$count_sql
=0;
 function 
my_query($sql,&$count_sql)
 {
   if(
$sql!=null)++$count_sql;
   return 
mysql_query($sql,);
 }

  Ответить  
 
 автор: Trianon   (03.10.2009 в 00:53)   письмо автору
 
   для: Рома   (03.10.2009 в 00:38)
 

ну вот еще.
Вызовы my_query могут (и если со структурой кода всё в порядке - должны) быть разбросаны по многим функциям. И что - в каждой свой независимый счетчик будет?

  Ответить  
 
 автор: Рома   (03.10.2009 в 01:50)   письмо автору
 
   для: Trianon   (03.10.2009 в 00:53)
 

Почему. Ведь исполняемый файл один, и он посчитает все my_query, которые попались ему при генерации страницы, независимо от того, включались они, или изначально были в нем. А функцию вместе со стартовым значением можно объявить, например, в файле подключения к базе данных. У меня он вторым includ`ом идет.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования