Как использовать SQL соединение в PHP для выполнения запроса на две базы данных - PullRequest
0 голосов
/ 28 октября 2010

как я могу выполнить запрос, который объединяет две таблицы из двух разных баз данных в mssql_query или mysql_query в php например

$conn=mssql_connect($ip,$username,$password);
mssql_select_db("DB1",$conn);
$q="select A.name,B.ID from DB1.dbo.T1 A, DB2.dbo.T2 B where A.ID=B.ID";
$res=mssql_query($q);

как выполнить такой запрос ??

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Просто добавьте имена таблиц к имени базы данных, как вы уже делаете.

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

0 голосов
/ 28 октября 2010

Я думаю что-то вроде этого:


SELECT X.field1, Y.field2
FROM database1.table_a AS X
INNER JOIN database2.table_b as Y
ON X.id=Y.id

[Изменено] Извините, я не закончил публикацию, вы должны использовать mysqli http://www.php.net/manual/en/mysqli.query.php (не беспокойтесь за конструктор, поместите только 1 базу данных) и выполнить запрос как обычный запрос. Также, как сказал парень из топа, пользователь, который делает запрос, должен иметь разрешения для обеих таблиц.

...