이전 논의에서는 MySQL의 교차 데이터베이스 쿼리가 다루어졌습니다. 그러나 이 지식을 PHP에서 구현하려고 시도할 때 문제가 발생했습니다.
문제:
PHP는 mysql_select_db를 사용하여 두 가지 접근 방식을 제공합니다.
해결책:
과도한 수정 없이 PHP에서 데이터베이스 간 쿼리를 수행하려면 다음 단계를 수행할 수 있습니다.
$db = mysql_connect($host, $user, $password); mysql_select_db('my_most_used_db', $db); $q = mysql_query(" SELECT * FROM table_on_default_db a, `another_db`.`table_on_another_db` b WHERE a.id = b.fk_id ");
데이터베이스가 다른 호스트에 있는 경우 , 직접 조인은 불가능합니다. 이 경우 대신 두 가지 쿼리를 수행할 수 있습니다.
$db1 = mysql_connect($host1, $user1, $password1); $db2 = mysql_connect($host2, $user2, $password2); $q1 = mysql_query(" SELECT id FROM table WHERE [..your criteria for db1 here..] ", $db1); $tmp = array(); while($val = mysql_fetch_array($q1)) $tmp[] = $val['id']; $q2 = mysql_query(" SELECT * FROM table2 WHERE fk_id in (".implode(', ', $tmp).") ", $db2);
위 내용은 PHP에서 데이터베이스 간 쿼리를 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!