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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: создание класса PHP работающего с таблицами MySQL

Сообщения:  [1-10]   [11-16] 

 
 автор: Nickiomen   (17.05.2013 в 23:12)   письмо автору
 
   для: Sfinks   (16.05.2013 в 19:32)
 

У меня два варианта работы класса: с логированием sql- запросов, и без лога, т.е. в лог идут только запросы и ответы на них. При тесте на Денвере все нормально, но с двумя файлами лога... ХЗ))) Озадачил вопрос про 10... 1000... 100 000 подключений... По моему при 100 одновременных подключениях обязан рухнуть сервер с громкими матами, а потом предчувствуя очередной бардак отказаться включаться.
Подскажите по сессиям, а то у меня такой учебник(для истинных программеров), найди ошибку сам))). Переписывать(извращать) чужой код не хочу, и не стану, интересно самому написать. Может логи выводить по ID?
А про получится или нет я уже писал)))
Извиняюсь за связность текста, на Д.Р. у брата)))

  Ответить  
 
 автор: Sfinks   (16.05.2013 в 19:32)   письмо автору
 
   для: Nickiomen   (15.05.2013 в 21:11)
 

Ошибки лучше писать отдельно.
В логе на пару мегабайт Вы их в жизни не найдете.
А в отдельном файле легко.

  Ответить  
 
 автор: Nickiomen   (15.05.2013 в 21:11)   письмо автору
 
   для: Nickiomen   (15.05.2013 в 18:00)
 

Переписал вывод лога, теперь еще и ошибки записывает.
>15:05:2013.21:51:28<::>SELECT VERSION()<::>0.0006
>15:05:2013.21:52:22<::>SELEC VERSION()<::>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELEC VERSION()' at line 1
>15:05:2013.21:53:16<::>SELECT VERSION()<::>0.0006

  Ответить  
 
 автор: Nickiomen   (15.05.2013 в 18:00)   письмо автору
 
   для: psychomc   (15.05.2013 в 17:42)
 

Ну у меня получилось примерно следующее:
15:05:13.06:43:44<::>SELECT * FROM login<::>0.0010
15:05:13.06:45:07<::>SELECT * FROM login<::>0.0008
15:05:13.06:45:08<::>SELECT * FROM login<::>0.0014
Но есть одно но, PHPDesigner выдает предупреждение на функцию data(), советуют использовать"date.timezone setting or the date_default_timezone_set() function" есть смысл переписывать или он предлагает определить часовой пояс?
Пока поставил $time= @date();

  Ответить  
 
 автор: psychomc   (15.05.2013 в 17:42)   письмо автору
 
   для: Nickiomen   (15.05.2013 в 12:08)
 

если записывать просто запросы и время выполнения построчно в виде логов, то файл, по крайней мере, будет удобнее. но база предоставляет больше возможностей для выборки. смотрите что для вас предпочтительнее

  Ответить  
 
 автор: Nickiomen   (15.05.2013 в 12:08)   письмо автору
 
   для: psychomc   (15.05.2013 в 11:51)
 

Спасибо! Еще такой вопрос, а если писать в обычный файл, не быстрее ли будет, чем в базу?

  Ответить  
 
 автор: psychomc   (15.05.2013 в 11:51)   письмо автору
 
   для: Nickiomen   (15.05.2013 в 10:01)
 

можно вот так

<?php
$query 
"SELECT * FROM ....";
$time_before microtime(true);
$result mysql_query($query);
$time_after microtime(true);
echo 
number_format($time_after $time_before4);


если не ошибаюсь, phpmyadmin считает именно так

  Ответить  
 
 автор: Nickiomen   (15.05.2013 в 10:01)   письмо автору
 
   для: cheops   (15.05.2013 в 07:20)
 

Так вот с временем выполнения как раз и проблема. Если я правильно понял, то это "SHOW PROFILE", вот только с синтаксисом не совсем понятно.

  Ответить  
 
 автор: cheops   (15.05.2013 в 07:20)   письмо автору
 
   для: Nickiomen   (14.05.2013 в 22:57)
 

А вы просто попробуйте записывать все SQL-запросы и время их выполнения в таблицу базы данных и выводить на отдельной странице в системе администрирования. Причем все запросы, как на чистом SQL, так и сгенерированные - уже будет очень хорошее дело.

  Ответить  
 
 автор: Nickiomen   (14.05.2013 в 22:57)   письмо автору
 
   для: cheops   (14.05.2013 в 21:29)
 

Это конечно весьма удобно, но в то же время, если я правильно понял, означает переход на Руби. Что не есть правильно в моем случае. Распылять силы на два языка в планы пока не входит (с одним бы более менее разобраться).
А вот можно ли получить время выполнения SQL запроса, как это делает PHPMyAdmin, только в самом PHP?
Пока что мой класс только немного облегчает написание кода запросов, но до генерации SQL , там- как до той же Японии коленками назад)))

    public function setquery($q) 
    {
        $this->result= mysql_query($q);
        if (!$this->result)
        {
            $this->result= mysql_error();
            exit();
        }
        return $this->result;
    }   

По моему это все же меньше писанины и ветвлений в коде, чем каждый раз проверять возвращаемое значение в самой программе...
Получится или нет- это вопрос второго плана. Не ошибается тот- кто ни чего не делает)))

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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