X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> подключатся к бд или нет вот в чем вопрос
MetSerp
MetSerp
Topic Starter сообщение 26.1.2009, 16:01; Ответить: MetSerp
Сообщение #1


Мой самописный эмм если можно так назвать движок имеет структуру страниц примерно следующую:
в голове подключается шаблон с шапкой сайта в центре страницы остальные части (меню там и прочие блоки)
а в конце футер.
Практически на каждой странице мне необходимо подключаться к базе данных
и в итоге я пришел к двум вариантам либо подключать бд непосредсвенно для функции и сразу закрывать либо подключиться 1 раз в головном шаблоне и отключится в футере
т.е.
в header.tpl у меня будет:
[PHP]<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "main";
mysql_connect($hostname, $username, $password) or die ("<html><head><title>Ошибка!</title></head><body><table width=\"100%\" height=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td align=\"center\" valign=\"middle\" scope=\"col\"><table width=\"300\" border=\"3\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF0000\"><tr><td nowrap=\"nowrap\">Нет подключения к базе данных <img src=\"tpl/img/erorconnect.gif\"/></td></tr></table></td></tr></table></body></html>");
mysql_select_db($dbName) or die (mysql_error());
?>[/PHP]
А в футере:
[PHP]mysql_close()[/PHP]
Тогда мне в теле документа будет достаточно только писать операции с бд а не подключаться отключаться от нее постоянно.
Но вот насколько это оправданно (не получится так что я этим буду грузить сервер без лишней необходимости)?:P
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 26.1.2009, 16:10; Ответить: Webmaster_hb
Сообщение #2


если будут открываться подключения к базе данных а потом закрываться. это уж действительно будет дополнительной нагрузкой
один раз открыли, один раз закрыли
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 26.1.2009, 16:13; Ответить: MetSerp
Сообщение #3


Webmaster, огромное спасибо это в корне упрощает задачу а то я уже запарился швейцаром работать для каждой функции :wacko:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 26.1.2009, 16:20; Ответить: Webmaster_hb
Сообщение #4


да и вообще mysql_close использовать не нужно
Использование mysql_close() не необходимо для непостоянных соединений. Они автоматически закрываются в конце работы скрипта.

В связи с системой подсчета ссылок, введенной в движке Zend PHP 4 автоматически определяется, что ресурс больше никуда не ссылается (как в Java). Когда это происходит, все ресурсы, которые использовались для данного ресурса, освобождаются сборщиком мусора. По этой причине маловероятно, что когда-либо будет необходимо освобождать память вручную, используя какую-нибудь free_result функцию.
Замечание: Постоянные ссылки базы данных являются особыми, они не уничтожаются сборщиком мусора.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 26.1.2009, 16:27; Ответить: MetSerp
Сообщение #5


хмм а взломщик не может воспользоваться не закртым подключением к бд для своих темных делишек? :sarcastic:
Или подключение уже станет не действительным как только у меня закроется последняя ?>
и кстати где стоит а где нет использовать постоянное подключение и какие в нем плюсы и минусы?

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 26.1.2009, 16:56; Ответить: Licoric
Сообщение #6


Как вариант запихать подключение к базе в отдельный файл. А там, где надо - include ();
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 26.1.2009, 16:59; Ответить: MetSerp
Сообщение #7


(Licoric @ 26.1.2009, 18:56) *
Как вариант запихать подключение к базе в отдельный файл. А там, где надо - include ();

Я так как раз и сделал у меня весь сайт на инклюдах :sarcastic:
[php]<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "main";
mysql_connect($hostname, $username, $password) or die ("<html><head><title>Ошибка!</title></head><body><table width=\"100%\" height=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td align=\"center\" valign=\"middle\" scope=\"col\"><table width=\"300\" border=\"3\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF0000\"><tr><td nowrap=\"nowrap\">Нет подключения к базе данных <img src=\"tpl/img/erorconnect.gif\"/></td></tr></table></td></tr></table></body></html>");
mysql_select_db($dbName) or die (mysql_error());
?>[/php]Содержания файла bd.php он и подключается в хеадер tpl
создается на основе настроек введенных пользователем при установке движка плюс еще файл со списком "Глобальных переменных" типа адрес имя сайта итд кодировка ключевые слова админ акаунт и простой акаунт для сайта тож при установке регается (вот тока авторизацию еще не дописал ) :prilichno:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mutant
Mutant
сообщение 26.1.2009, 20:51; Ответить: Mutant
Сообщение #8


ну то, что сайт на инклудах, это ладно, но подключать для конекта с БД отдельный файл, не комильфо. Лучше создать какой-нибудь lib.php с функциями и в него уже упаковать функцию конекта к дб, а потом до кучи и многие другие функции, которые часто используются (будут использоваться)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 26.1.2009, 21:26; Ответить: MetSerp
Сообщение #9


Mutant, да я вот тоже думаю с классами побаловаться :goodpost:просто настройки к бд сохраняются при инстале а как переписать класс не переписывая файл я что то пока не догоняю:rolleyes:

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
20 uahomka 3527 20.4.2024, 20:56
автор: Vmir
Открытая тема (нет новых ответов) Если статья не в индексе Google - она уникальна или нет?
5 uahomka 1440 3.4.2024, 23:56
автор: Liudmila
Открытая тема (нет новых ответов) Где больше пробив на кликандер или попандер или попап трафике?
1 Boymaster 680 20.3.2024, 9:50
автор: Skyworker
Горячая тема (нет новых ответов) Выполню качественную верстку макетов или разработка собственного, быстро и не дорого
от 45$
123 webche 117232 17.3.2024, 7:09
автор: webche
Открытая тема (нет новых ответов) От какого экрана будут меньше уставать глаза OLED или IPS?
3 metvekot 1035 12.3.2024, 16:25
автор: MisterBit


 



RSS Текстовая версия Сейчас: 23.4.2024, 19:47
Дизайн