За последние 24 часа нас посетил 59171 программист и 1810 роботов. Сейчас ищет 961 программист ...

Запросы к базе.

Тема в разделе "PHP и базы данных", создана пользователем 715kg, 3 мар 2013.

  1. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Здравствуйте, писав свой движок, я как чуял что нужно сделать функцию.

    Функция проста

    Код (Text):
    1. function dbquery($query) {
    2. $result = @mysql_query($query);
    3.     if (!$result) {
    4.         echo mysql_error();
    5.         return false;
    6.     } else {
    7.         return $result;
    8.     }
    9. }
    Все запросы делаю такого вида

    Код (Text):
    1. $query = dbquery("SELECT*FROM `photo`" );
    И тут мне захотелось посмотреть сколько запросов делает движок к базе.

    Переписал функцию.

    Код (Text):
    1. function dbquery($query) {
    2.      static $count_query = 1;
    3.         global $count_query; $count_query++;
    4.         return mysql_query($query);
    5.  
    6.  
    7. $result = @mysql_query($query);
    8.     if (!$result) {
    9.         echo mysql_error();
    10.         return false;
    11.     } else {
    12.         return $result;
    13.     }
    14. }
    В главной файле index.php куда подключаются все файлы. В самом низу дописал

    echo $count_query;

    На сайте на всех страницах пишет 13. - То есть это 13 запросов?

    Просто у меня в коде
    вот таких строк не 13 а больше.
    Код (Text):
    1. $query = dbquery("SELECT*FROM `photo`" );
    Я все правильно сделал? Или что ?
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    В коде одного скрипта? Если скрипты подключаются динамически, то нормально.
    Функция какая-то странная получилась.
     
  3. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Ну как. Подключаю require_once или инклудом. перамидкой подрубаю. config.php => подключен в functions.php => getoff.php => index.php
    Ну и отдельные фалы допустим page.php => index.php
    online.php тоже в Index.php
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    При выводе страницы подключаются все скрипты?
     
  5. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ну возможно по логике приложения до таких строк
    $query = dbquery("SELECT*FROM `photo`" );
    и не доходит, они не выполняются.
    Можно написать одну рекурсивную функцию, которая сделает тысячу вызовов к dbquery,
    можно сделать сотни условий вокруг, и будет один-два вызова dbquery.
    Чесслово не понятно, как так можно написать движок, что не знать, сколько запросов. Я всегда знаю, что у меня в обычном режиме сайт делает 3 запроса (1-й для SET NAMES UTF8, вторй для меню и хлебных крошек, третий для контента), на странице с тегами 4 запроса, на страницах с отзывами 5 и т.д. А при наличии кеша, вообще нуль.
     
  7. 715kg

    715kg Активный пользователь

    С нами с:
    2 мар 2013
    Сообщения:
    147
    Симпатии:
    0
    Вот так вот и написал. Знаний хватило только для этого.

    Там как идет. Файл конфига. Он подключается к файлу Фнкций. Далее файл функций к Гетофф файлу. И там происходит обработка. Сбор информации с сервера, запись в базу. Потом обновление, вывод информации на главной. И.т.д А кеш не знаю как написать(((