2012-05-09 2 views
0

출력 :MySQL의 유효한 ressource

경고 :는 mysql_query() : 6 C에 유효한 MySQL의 링크 자원되지 않습니다 : ... \ 라인 (94)

$con = mysql_connect($GLOBALS['mysql_host'], $GLOBALS['mysql_username'], $GLOBALS['mysql_password']) or die(mysql_error()); 
$db = mysql_select_db($GLOBALS['mysql_database']) or die(mysql_error($con)); 


$username=sanitize_mysql($username); 
$password=sanitize_mysql($password); 
$email=sanitize_mysql($email); 

if(check_exists("users", "username", $username) == FALSE){ 
    $query = "INSERT INTO users VALUES('".$username."','".$password."','".$email."','".$status."','".$reg_date."','".$own_ref_id."','')"; 
    $result = mysql_query($query,$con) or die(mysql_error($con)); 
    return TRUE; 
} else { 
    return FALSE; 
} 
mysql_close($con); 

작품에 mysql_helper.php 이 (복사/붙여 넣기)와 같은 내장 된 다른 모든 기능에

이 그것은을 것으로 보인다

function check_exists($table,$specifier,$value) 
{ 
    $con = mysql_connect($GLOBALS['mysql_host'], $GLOBALS['mysql_username'], $GLOBALS['mysql_password']) or die(mysql_error()); 
    $db = mysql_select_db($GLOBALS['mysql_database']) or die(mysql_error($con)); 


    $query = "SELECT * FROM ".$table." WHERE ".$specifier." = '".$value."'"; 
    $erg = mysql_query($query) or die(mysql_error()); 

    while ($row = mysql_fetch_array($erg)) { 
     mysql_close($con); 
     return TRUE; 
    } 
    mysql_close($con); 
    return FALSE; 
} 
+0

'sanitize_mysql()'또는'check_exists()'가'$ con'을 터치합니까? – eggyal

+0

check_exists를 추가했습니다 –

답변

4

check_exists입니다 check_exists()의은 $con과 동일한 범위에 있으므로 check_exists()은 처음에 원래 연결을 재정의 (및 소실) 한 다음 mysql_close($con)을 호출 할 때 자체 연결을 닫습니다.

이러한 모든 기능을 사용하기 위해 열려있는 단일 연결을 유지하는 것이 좋습니다.

+0

check_exists에서 $ con을 $ con2로 변경하더라도 작동하지 않습니다. 어떻게 하나의 연결 만 사용할 수 있다고 생각하니? mysql 액세스를 사용하는 모든 함수에 대해 $ con 인수를 전달 하시겠습니까? –

+0

@LiamSchnell : 전역 변수에 접근하기 위해 각 함수의 시작 부분에'global $ con'을 선언하십시오. (mysql_helper가 클래스 인 경우 멤버 변수를 사용할 수 있습니다. 예 : $ this-> con'). – eggyal

+0

나는 이걸로 갈 생각 : [link] (http://stackoverflow.com/questions/10208691/do-i-need-a-php-mysql-connection-in-each-function-that-uses-database)) –