2013-03-16 4 views
0

나는 연결하고 데이터베이스에 액세스, 선택의 코드를 작성하기 위해 노력하고 있지만 작동하지 않습니다 :이 코드는 적어도 의미동적 MySQL의 연결 및 데이터베이스

을 취하면 X

$mysql_storage = true; 

if($mysql_storage){ 

    $databases = array(

     array("localhost","glibet_login","#####","glibet_site") 
    ); 

    foreach($databases as $database){ 

     $makeconnection = $database[1]; 
     ${$makeconnection} = mysql_connect($database[0],$database[1],$database[2]); 
     mysql_select_db($database[3], $database[1]); 

    } 
} 

$query = "SELECT * FROM users WHERE email='[email protected]'"; 
$littlequery = mysql_query($query, $glibet_login); 
$littlefetch = mysql_num_rows($littlequery); 
print $littlefetch; 

알려주세요 경고 : mysql_select_db()는 매개 변수 2가 16 행의 /home/glibet/public_html/api/api_storage.php에 주어진 리소스가 될 것으로 예상합니다.

EDIT [SOLVED]!

mysql_select_db($database[3], ${$makeconnection}); 
+1

에서 더 간단 수 있었다 ... –

+0

특별히 부분 @YogeshSuthar의 대답을 참조하십시오 mysql_로 *는 사용되지 않는 사용을 중지. mysqli 또는 PDO를 사용하십시오. – Cito

+0

임의 로그인 정보 :) –

답변

2

$makeconnection = $database[1]; 
${$makeconnection} = mysql_connect($database[0],$database[1],$database[2]); 
mysql_select_db($database[3], ${$makeconnection}); 

을하고는 사용되지 mysql_* 사용을 중지해야한다. mysqli 또는 PDO을 사용하십시오.

+0

고마워,하지만 난 다른 방법으로 해결! –

0

연결 프로세스가 약간 복잡하다고 생각합니다. 그것은 내가 강하게 당신이 당신의 MySQL의 로그인 정보를 제거하는 조언을 다음과 같은 방법

$mysql_storage = true; 
$makeconnection; 

if($mysql_storage){ 
    $makeconnection = mysql_connect("localhost","glibet_login","#####"); 
    mysql_select_db("glibet_site", $makeconnection); 
} 

$query = "SELECT * FROM users WHERE email='[email protected]'"; 
$littlequery = mysql_query($query, $makeconnection); 
$littlefetch = mysql_num_rows($littlequery); 
print $littlefetch; 
+0

네, 단 하나 또는 두 개의 연결에 대해서만 :) –