2016-02-04 4 views
2

у меня есть 2 базы данных (DB1, DB2) в MySQLi с различными пользователями и паролями, я пытаюсь подключиться, но это не удалось,Connect множественным MySQLi база данных с различными пользователями и паролями

$this->db = mysqli_connect(self::DB_SERVER, self::DB_USER, self::DB_PASSWORD,self::DB); 

я сделал в запросе :

select*from db2.table 

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

+0

Он проваливает соединение или запрос? Если это не удается, возможно, в конфигурации сервера есть предел. – fusion3k

+0

Непонятно, что вы задаете – Drew

ответ

-1

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

ИЛИ, если вам не нужно, чтобы получить доступ из одного соединения использовать что-то вроде этого:

https://github.com/thephpeffect/ConnectionManager

db("default", new mysqli(self::DB_SERVER, self::DB_USER1, self::DB_PASSWORD1,self::DB1)); 
db("db2", new mysqli(self::DB_SERVER, self::DB_USER2, self::DB_PASSWORD2,self::DB2)); 

$result = db("db2")->query("select*from db2.table"); 
+0

разные имена пользователей и пароли в базах данных, а не в таблицах – Asad

+1

Я пропустил freudian, я хотел сказать базы данных, а не таблицы (он был отредактирован) Чтобы повторить, вы не можете запрашивать базы данных с разными пользователями, если они не имеют доступа. То есть. Если user1 имеет доступ к db1, но не db2, то пользователь1 не может запрашивать соединение с db1 и выбирать данные на db2. Итак, если вы хотите иметь доступ к нему, вам нужно открыть два отдельных соединения. И таким образом мой ответ по-прежнему сохраняется. – Asperon

Смежные вопросы