Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550

Подключение при завершении скрипта

11.07.2010, 23:08. Показов 808. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выполняю значит скрипт наподобии
PHP
1
$user = new Session;
Т.е. там класс сессии который перегружает стандартные методы обработки. Перегрузил всего 2 метода
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static function read($sess_id)
{
    $DB = __DB::Instance();
    $DB->Query(
        SQL::SELECT() .
        SQL::FROM(self::$sess_table_name) .
        SQL::WHERE("sess_id = '$sess_id'")
    );
    $_SESSION = $DB->RowAssoc();
 
}
public static function write($sess_id, $data)
{
    $DB = __DB::Instance();
    $write_array = array_intersect_key($_SESSION, self::$sess_table_format);
    $DB->Query(
        SQL::INSERT(
            self::$sess_table_name,
            $write_array,
            'ON DUPLICATE KEY UPDATE'
        )
    );
}
И вот он результат
-- ЗАПРОС QS
SELECT ALL *
FROM `aibot_session`
WHERE sess_id = 'bb696108cb360e7a3de85eab0ea92029'



-- ЗАПРОС QS
INSERT INTO aibot_session
SET sess_id='bb696108cb360e7a3de85eab0ea9202 9', name='inside', companion_id='', refreshed='2010-07-11 19:42:28'
ON DUPLICATE KEY UPDATE sess_id='bb696108cb360e7a3de85eab0ea9202 9', name='inside', companion_id='', refreshed='2010-07-11 19:42:28'



Warning: mysql_query(): 9 is not a valid MySQL-Link resource in C:\AppServ\www\AI_Bot\engine\_MySQL.php on line 122
Т.е. второй запрос (на запись сессии) неудачен т.к. ресурс подключения ммм... удален?
PHP
1
2
3
4
5
6
7
function Query($QS){
    Format::eh("\n\t-- ЗАПРОС QS\n" . $QS . "\n\n");
$this->_pResult = mysql_query($QS, $this->Connect->_ID);
    if ( !(($this->_pResult === true) || is_resource($this->_pResult)) )
        return ($this->bLastResult = false);
return ($this->bLastResult = true);
}
Ещё важный момент: как идет подключение к базе. В любом месте кода я могу написать
PHP
1
$DB = __BD::Instance();
и получу возможность с БД работать. Этот метод написан так:
PHP
1
2
3
4
5
static public function Instance(){
    if (self::$instance == NULL)
        self::$instance = call_user_func(Array('_'.$GLOBALS['_DB']['Type'], 'GetInstance'));
return self::$instance;
}
Т.е. если он видит что не было создано ни одного экземпляра подключения к БД то пытается создать экземпляр объекта работы с БД (различный в зависимости от настройки) вызывая метод GetInstance. В данном случае _MySQL::GetInstance() который выглядит так:
PHP
1
2
3
4
5
6
7
8
static public function GetInstance(){
    return new self(
                        $GLOBALS['_DB']['Host'],
                        $GLOBALS['_DB']['Name'],
                        $GLOBALS['_DB']['User'],
                        $GLOBALS['_DB']['Password']
                    );
}
Сначало я думал что __DB::Instance() шалит, и начал там проверять верный ли ресурс подключения у объекта self::$instance. Но если он уже не верный, то создание нового (с авто подкючением) убивает апач наповал
Почему он не хочет подключаться к БД записывая сессию пользователя?
Когда сам завершаю сессию ошибки не выпадает, т.е:
PHP
1
2
    $user = new Session;
    session_write_close();
Работает нормально
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.07.2010, 23:08
Ответы с готовыми решениями:

Почему при использовании цикла, переменная которая находится внутри него не сохраняет значение при его завершении?
Почему при использовании цикла, переменная которая находится внутри него не сохраняет значение при его завершении.Пример: ...

Подключение скрипта
Добрый день, уважаемые пользователи! Помогите советом. Я вынес файлы за пределы сайта. Подключаю файл в index.php через...

Подключение php скрипта к HTML странице
Пожалуйста помогите решить проблему. Есть HTML страничка с таким вот куском кода. <div...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2010, 23:08
Помогаю со студенческими работами здесь

Подключение скрипта добавления комментария к сайту.
Подскажите пожалуйста подробно, как подключить скрипт добавления комментариев к сайту на все страницы? Сайт динамический на PHP,...

Единая точка доступа && подключение PHP скрипта с GET запросом
Здравствуйте, у меня на сайте по стандарту организована единая точка входа, и у меня есть проблема с попыткой скрытно подключить скрипт...

При различной ширине экрана, подключение другого скрипта
В общем, есть плеер встроенный на странице хтмл и надо, что бы при конкретной ширине экрана подключался другой скрипт, относящийся к видео...

При запуске sh-скрипта из bat-файла команда clang из sh-скрипта неверно работает
Я запускаю через bat.файл sh.скрипт в котором находится одна команда clang code.c -o code.exe Вот кусок кода из bat C: ...

сделать при завершении
господа можно ли в консольном приложении сделать так,что бы при закрытии окна(например нажатие на крестик)выводилась надпись(любая)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru