Перейти к содержимому
Русский язык для Invision Community 5

Удаленное подключение к бд

Здравствуйте. Хочу реализовать у себя в приложении соединение с удаленной базой данных, как это сделать?

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

$remote = \IPS\Db::i(
'remote_database_name', 
array(
	'sql_host'		=> 'host',
	'sql_user'		=> 'user',
	'sql_pass'		=> 'pass',
	'sql_database'		=> 'database',
	'sql_port'		=> 'port',
	'sql_socket'		=> 'socket',
	'sql_tbl_prefix'	=> 'prefix',
) 
);

  • Автор

Это я знаю. Куда это можно вставить и как подключатся ? В appicalption нельзя? чтобы работало везде.

  • Автор

Так вроде работает, только скажите как это использовать в каждом файле модуля? : http://prntscr.com/let59q

 

И скажите по настройке:

 

$wc3Storage = !\IPS\Settings::i()->wc3_remote_sql_host ? \IPS\Db::i() : \IPS\Db::i

 

Если в настройках не равно wc3_remote_sql_host \IPS\Db::i() ? не пойму как работает это условие.

Если в настройках не равно wc3_remote_sql_host \IPS\Db::i() ? не пойму как работает это условие.

 

Если настройка с ключом wc3_remote_sql_host не равна true, то использовать "внутреннюю" базу, иначе внешнюю

  • Автор

Можно где-то глобально это подключить?

Попробуйте в Aplication.php в метод init

Вместо

$wc3Storage->select(

писать

\IPS\Db::i('wc3')->select(

  • Автор

Мне так в каждом запросе к БД делать? http://prntscr.com/li37l2

Мне так в каждом запросе к БД делать? http://prntscr.com/li37l2

 

Зачем? Я же дал пример. Где Вы там видите параметры подключения?

  • Автор

А как тогда указывать логин и пароль от базы и остальное?

  • Автор

Вроде работает, всё правильно? http://prntscr.com/ljpky7 http://prntscr.com/ljpl0q

 

Как думаете, стоит добавлять ненужное вроде сокета?

 

Убрал лишнее.

 

Еще вопрос, как правильно сделать: http://prntscr.com/ljppb0 можно ли вывести ошибку или может при установке вводить подключение к базе данных, чтобы избежать 500 когда нет таблиц (они не устанавливаются вместе с приложением) или не указано удаленное подключение?

 

А что делает init_get? http://prntscr.com/ljpqzf

Изменено пользователем TemKa_SD

  • Автор

Если сделать вот такой файл и указать данные там? http://prntscr.com/ljspla а то у меня через функцию load() грузит таблицу из двигла.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.