2013-02-13 3 views
0

함수의 mysqli 변수에서 if 문을 컴파일하려고하는데`117 번 줄의 객체 컨텍스트가 아닐 때 $ using this를 사용하는 중대한 오류가 발생합니다. 나는 잘못하고 어떻게 if 문을 함수에서 사용할 수 있습니까?

코드 :

$qandaquery = "SELECT ReplyType 
        FROM Reply"; 

    $qandaqrystmt=$mysqli->prepare($qandaquery); 
    // get result and assign variables (prefix with db) 
    $qandaqrystmt->execute(); 
    $qandaqrystmt->bind_result($qandaReplyType); 
    $this->shared_result[] = $qandaReplyType; //ERROR HERE 

function ExpandOptionType($option) { 


    if('Single' == $this->shared_result){ 

... 

}else if('Multiple' == $this->shared_result){ 

... 

} 
} 
+0

여기서'$ this'는 무엇을 의미합니까? – deceze

+0

이 영역에는 수업이 없으므로 $ this가 작동하지 않습니다. shared_result 배열의 초기화는 어디에서 할 수 있습니까? 이 파편도 게시 할 수 있습니까? – Shimu

+0

나는 숙제를 올리는 대신에 의미있는 부분을 추출하여 올바르게 질문하는 것에 대해 함수 –

답변

1

당신은 일반적인 기능 (하지 않는 방법) 내부 $this를 사용하려고합니다.

의미있는 내용으로 작성해야합니다. $this은 항상 작업하고있는 클래스의 인스턴스를 참조한다는 것을 기억하십시오. 비 클래스 컨텍스트에서는 의미가 없습니다.

+0

안녕하세요, if 문에서 사용할 함수에서 $ mysqli 변수에 액세스하려고 $ this를 사용해야 할 필요가 있습니까? if 문에서 $ mysqli 변수에 '$ qandaReplyType'처럼 액세스 할 수 있습니까? – user2056342

+0

@ user2056342 아니, 할 수없고 말이되지 않습니다. 당신은 아무런 의미가 없으며'$ this->'가 무엇인지에 대한 단서가 없을 것입니다. 그래서 [Classes and OOP] (http://php.net/manual/en/)을 살펴 보시기 바랍니다. language.oop5.php) 및 [Dependency Injection] (http://en.wikipedia.org/wiki/Dependency_injection)을 참조하십시오. – Shoe

관련 문제