경고 : mysql_xx
함수는 PHP 5.5부터 더 이상 사용되지 않으며 PHP 7.0부터 제거됩니다 ( http://php.net/manual/intro.mysql.php 참조 ). mysqli_xx
함수를 사용 하거나 @Troelskn에서 아래 답변을 참조하십시오
에 대해 여러 번 호출 할 수 mysql_connect()
있지만 매개 변수가 동일하면 ' $new_link
'(4 번째) 매개 변수에 대해 true를 전달해야합니다 . 그렇지 않으면 동일한 연결이 재사용됩니다. 예를 들면 다음과 같습니다.
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
그런 다음 데이터베이스 1을 쿼리하려면 첫 번째 링크 식별자를 전달하십시오.
mysql_query('select * from tablename', $dbh1);
데이터베이스 2의 경우 두 번째를 전달하십시오.
mysql_query('select * from tablename', $dbh2);
링크 식별자를 전달하지 않으면 마지막으로 생성 된 연결이 사용됩니다 (이 경우로 표시되는 연결 $dbh2
). 예 :
mysql_query('select * from tablename');
다른 옵션
MySQL 사용자가 두 데이터베이스 모두에 액세스 할 수 있고 동일한 호스트에있는 경우 (즉, 동일한 연결에서 두 DB 모두 액세스 가능) 다음을 수행 할 수 있습니다.
- 하나의 연결을 열어두고
mysql_select_db()
필요에 따라 스왑을 호출 하십시오. 이것이 깨끗한 솔루션인지 확실하지 않으므로 잘못된 데이터베이스를 쿼리 할 수 있습니다.
- 쿼리 내에서 테이블을 참조 할 때 데이터베이스 이름을 지정하십시오 (예 :)
SELECT * FROM database2.tablename
. 구현하기가 어려울 수 있습니다.
또한 troelskn의 답변을 읽으십시오. 이전 확장보다 PDO를 사용할 수 있다면 더 나은 접근 방법입니다.