Форум русской поддержки Joomla!® CMS
25.07.2017, 00:42:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

SQL жизнь соединения с БД

 (Прочитано 102 раз)
0 Пользователей и 1 Гость смотрят эту тему.
avantyrist
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 230



« : 13.03.2017, 13:52:57 »

Добрый день.
Интерисует как живёт соединение с сервером БД, в Joomla  JDatabaseDriver

Надеюсь что так Azn
1)  На протяжении всего цикла PHP скрипта поддерживается отдно соединение с БазойДанных?

Или так:
2) При выполнениие $db->execute() и соответвственно всех fn loadResult().
    Устанавливается связь с сервером -> обрабатываются данные -> закрывается соединение -> return $result

Есть документация на ету тему ?
Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #1 : 13.03.2017, 14:49:55 »

https://github.com/joomla/joomla-cms/blob/staging/libraries/joomla/database/driver.php

Насколько я вижу, соединение не разрывается.

Код
public function loadResult()
{
$this->connect();
$ret = null;
 
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return;
}
 
// Get the first row from the result set as an array.
if ($row = $this->fetchArray($cursor))
{
$ret = $row[0];
}
 
// Free up system resources and return.
$this->freeResult($cursor);
 
return $ret;
}

Код:
protected function freeResult($cursor = null)
{
mysql_free_result($cursor ? $cursor : $this->cursor);
}
Записан
avantyrist
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 230



« Ответ #2 : 13.03.2017, 15:23:48 »

Я тоже пытался пробежаться по тропе JDatabaseDriver,  но заблудился в том лесу Azn

Меня ступорнуло  JDatabaseDriver->abstract public function execute();      он же  $this->execute()
Который потом определяется в JDatabaseDriverMysqli, JDatabaseDriverPdo и подобных.

То есть, всё же:
- На протяжении всего цикла PHP скрипта, в Joomla устанавливается только одно подключение к БД,
- Выполняется множество разных запросов к БД (селекты, апдейты и т.д), в етом подключении
- и оно живёт неразрывно? До окончания последнего PHP символа ?Azn
« Последнее редактирование: 13.03.2017, 15:34:22 от avantyrist » Записан
b2z
Support Team
*****

Репутация: +737/-0
Offline Offline

Пол: Мужской
Сообщений: 7738


Разраблю понемногу


« Ответ #3 : 13.03.2017, 15:58:08 »

По идее да.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet