Перейти к контенту
  • 0

Вопрос по классу $DB


Spear

Вопрос

Сдравствуйте,

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

 

т.к. в РНР я не очень силен, я хотел ко е что спросить:

 

после того как прошла инициализация класса $DB,

сделан

$DB->connect();

 

то что бы делать запросы в БД (селект, апдейт, делит и т.п.)

достаточно делать

$DB->query("SELECT * from ibf_members");

$row = $DB->fetch_row();

echo $row['name']. "<- имя";

например? Хочу разобраться с классами что бы не делать лишнюю нагрузку.

 

И когда нужно использовать:

$DB->close_db()

 

? Просто я вот этот момент вобще не понимаю.

Нужно закрывать соединение каждый раз после запроса, или, например, 1 раз за весь скрипт.. например вызывать $DB->close_db(); в футере сайта?

 

И последний вопрос - есть какие-то подвобные камни в юзаньи класов инвижена при работе с базой? по-моему все предельно просто и ясно. Все что мне сейчас остается сделать - поменять во всех запросах движка сайта мой текущй клас (который взят из PHP-nuke), на Инвиженовский.. то есть заменить

$DB->mysql_fetchrow

на

$DB->fetch_row();

 

.

На всякий случай скажу ещё раз зачем мне это нужно -

во-первых я не могу понять класы нюки вообще,

и я хочу соезинить сайт и форум по максимуму. Что бы не делать, например, при загрузке страниц форума помимо конекта в БД инвижена ещё и нюковский, для выбора какой-то инфы которая будет писаться в хедере.

Очень прошу вас - объясните. Хотя бы - когда закрывать соединение?

Изменено пользователем arigoda
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
connect(); делается каждый раз перед тем как делать какие-либо запросы.

Причём если ты сам этих запросов (в своём моде например) не делаешь, то это ещё ничего не значит. Например, если ты в своём моде будешь обращаться к универсальным глобальным переменным ($std, $skinuniversal, $lang и т.д.), то для их инициализации запросы нужны, поэтому соединение должно устанавливаться в любом случае.

 

то что бы делать запросы в БД (селект, апдейт, делит и т.п.) достаточно делать

 

да, этого достаточно.

Только у тебя логическая ошибка в твоём примере. А именно: запрашиваешь ты все ряды из таблицы, а читаешь только один.

 

И когда нужно использовать:

перед окончанием работы скрипта.

В общем случае - это формирование заголовков и данных и отсылка их клиенту в браузер. Т.е. один раз.

 

И последний вопрос

трудно сказать что там у тебя..

вряд ли всё так просто. Может всплыть ещё много чего.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.