2012-09-22 6 views
-1

PHP에서 개체를 사용하고 있습니다. 나는 데이터베이스 서버 $ con 객체와 $ opt (연산) 객체에 연결하여 데이터베이스 서버에 질의를 보내고, 지금까지 아무런 문제가 없다. 문제는 $ con 객체를 정적으로 정의하고 정의했다는 것이다. 이 코드구문 분석 오류 : 예기치 않은 구문 오류 T_PAAMAYIM_NEKUDOTAYIM

class operations{ 

    public static $con = null; 
    public function __construct($tableName = null){ 

    // Creating an object of connection 
    self::$con = new config(); 
    self::$con = self::$con->getConnection(); 
    } 

    } 

아래에서와 같이 $ 내가 $ 콘 개체를 호출 할 때 그래서이 문제

mysql_query($query,$opt::$con) or die (mysql_error()); 

는 없지만 서버에서이 오류

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM 
나타납니다 객체를 선택
+0

$ opt는 클래스 작업의 객체입니다 –

답변

0

귀하의 범위 해상도가 예기치 않은, 즉 당신이 나쁜 상황에서 그것을 사용하는 것을 의미한다. "::"은 언제 사용합니까? selfstatic, 클래스 명 또는 클래스의 이름을 나타내는 문자열 후 대신 그

static::PropertyOrMethod; 
self::PropertyOrMethod; 
CLassName::PropertyOrMethod 
$string = "className"; 
$string::PropertyOrMethod 

, 당신은 당신의 클래스의 ANS 경우에 그것을 사용하고 PHP는 그것을 좋아하지 않는다. mysql_query ($ query, operations :: $ con) 또는 die (mysql_error())를 사용해야합니다.

+0

고마워요. 그 일에, 당신은 맞습니다. 정적 인 물건은 그것에 도달하기 위해 물건이 필요 없어요. 고맙습니다. –

0

T_PAAMAYIM_NEKUDOTAYIM은 히브리어이며 PHP의 범위 분석 연산자 ("::")를 나타냅니다. 이 메시지를 받으면 PHP는 클래스 이름을보고 범위 분석 연산자를 사용하여 클래스 이름에 액세스 할 것을 기대합니다.

갱신 :

당신이 전화에 실수를 코드 편집을보고 한 후. 올바른 구문은 다음과 같습니다

mysql_query($query, operations::$con) or die (mysql_error()); 
+0

그는 ** 연산자를 사용합니다 ** : $ opt :: $ con' –

+0

하지만 mysql_query ($ query, $ opt : : $ con) or die (mysql_error()); –

+0

고마워요. 나는 그것과 그 일을 바꿨습니다. –

관련 문제