Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

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

Recommended Posts

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

Share this post


Link to post
$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',
) 
);

  • Upvote 1

Share this post


Link to post

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

Share this post


Link to post

Так вроде работает, только скажите как это использовать в каждом файле модуля? : 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() ? не пойму как работает это условие.

Share this post


Link to post

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

 

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

Вместо

$wc3Storage->select(

писать

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

Share this post


Link to post

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

 

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

Share this post


Link to post

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

Share this post


Link to post

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

 

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

 

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

 

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

 

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

Edited by TemKa_SD

Share this post


Link to post

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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...