2012-09-26 5 views
-1

나는 PHP에서 mysql 데이터베이스와 통신 중이다. 코드는 로그인 한 사용자에 따라 다른 포함 파일 (다른 데이터베이스에 대한 연결)을 사용해야합니다. 나는 그 일을하는 올바른 방법이 무엇인지 궁금합니다. 처음에 모든 파일을 포함하고 내 쿼리 내에서 데이터베이스 이름을 지정하거나 파일을 포함하고 쿼리를 변경하지 않아야합니다. 예를 들어, 필요한 데이터베이스 액세스 사용자에 대한포함 파일의 올바른 사용

if($user == 'a'){ 
include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x 
$qry = "SELECT * FROM sometable"; 
} elseif($user == 'b'){ 
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y 
$qry = "SELECT * FROM sometable"; 
} 

위가 더 나은 또는 다음과 같은 것이다 아랍 에미리트입니다 : -이

include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x 
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y 
if($user == 'a'){ 
$qry = "SELECT * FROM databaseX.sometable"; 
} elseif($user == 'b'){ 
$qry = "SELECT * FROM databaseY.sometable"; 
} 

알려 주시기 바랍니다. 도움을 주시면 감사하겠습니다.

+0

위 항목 중 하나가 아닙니다. –

+0

x와 y가 완전히 다른 dbs 인 경우가 아니라면 MSSQL과 SQLite와 같이 두 개의 다른 연결 스크립트를 유지할 필요가 없습니다. 그리고 심지어는 사용할 db를 선택하는 더 좋은 방법이 있습니다. –

+0

'if-else' 외부에서 연결을 사용하지 않는다면; 그러면 방법 1이 더 좋습니다. – hjpotter92

답변

0

조건에 따라 파일을 포함하기 때문에이 코드에서는 로딩 페이지의 크기가 증가하지 않습니다.

if($user == 'a'){ 
include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x 
$qry = "SELECT * FROM sometable"; 
} elseif($user == 'b'){ 
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y 
$qry = "SELECT * FROM sometable"; 
} 

그리고 그것은 당신이 1st 방법을 사용할 필요가 생각하는 것보다 데이터베이스 연결에만 관심이 있으면 우리가 시작

include('/home/xxxxxxx/xxxxxx/connection.php'); // connection to database x 
include('/home/xxxxxxx/xxxxxx/connect.php'); // connection to database y 
if($user == 'a'){ 
$qry = "SELECT * FROM databaseX.sometable"; 
} elseif($user == 'b'){ 
$qry = "SELECT * FROM databaseY.sometable"; 
} 

에서 모든 파일을로드하기 때문에이 코드에 로딩 페이지의 크기가 증가하고있다 .