2013-08-30 2 views
-1

외부 파일에서 아래 메소드 (public class youth_teams)에있는 $ new_id 변수에 액세스하고 싶습니다. 어떻게해야 할지를 알 수 없습니다. 메서드를 포함하는 파일 내부에서 lastInsertID를 올바르게 인쇄했지만 다른 파일의 변수에도 액세스 할 수 있기를 원합니다. $ NEW_ID에 액세스 할 수있는 올바른 경로는 무엇인가 ... 작동하지 않습니다 물론다른 파일에서 클래스에 저장된 변수에 액세스

sw::shared()->youth_teams->addTeam (
    $team_name, 
    $error 
); 

$temp_two = sw::shared()->youth_teams->addTeam->pdo->lastInsertID(); 
echo "new id: " . $temp_two . "<br>"; 

: 여기

public function addTeam(
    $team_name, 
    &$error 
) { 
$query = $this->pdo->prepare('INSERT INTO `' . $this->table . '` (
    `team_name` 
) VALUES (
    :team_name 
)'); 
    $query->bindParam(':team_name', $team_name); 
    $query->execute(); 

    print_r($query->errorInfo()); 
    print $this->pdo->lastInsertID(); 
    $new_id = $this->pdo->lastInsertID(); 
    return $new_id;        
} 

내가 다른 파일에서 시도한 코드입니까?

답변

1

그것은해야한다 :

$temp_two = sw::shared()->youth_teams->addTeam($team, $error); 

addTeam()$new_id을 반환하는 함수입니다, 그래서 당신은 () 함께 호출해야합니다. 당신이 정말로 직접 $new_id에 액세스 할 수있게하려면

, 당신은 글로벌 선언 할 수있다

public function addTeam(
    $team_name, 
    &$error 
) { 
    global $new_id; 
    ... 
+0

그는이 함수의 매개 변수도 지정해야합니다. –

+0

은 $ new_id 값을 꺼내는 방법이 있습니까? – cpcdev

+0

흐름을 표시하기 위해 원래 코드를 업데이트했습니다. addTeam() 메서드가 실행 된 후 $ new_id 값을 가져 와서 다른 메서드를 실행하는 데 사용할 수 있기를 원합니다. – cpcdev

0

이 잘못 무엇입니까? 당신이 외부 파일에서 sw::shared()를 호출 할 경우

$sw = new sw(); 

$temp_two = $sw->addTeam($team, $error); 

echo "new id: " . $temp_two . "<br>"; 

, 당신은 객체를 할당 할 수 있습니다.

아마 완전히 아니라면, 코드를 이해 완전히 다음을 설명해주십시오 있지 않다 :

sw::shared()->youth_teams->addTeam($team, $error); 

// 1. What does the shared() method do? 
// 2. What is the youth_teams property? 

이 필요한 경우, 나는 addTeam() 기능에 직접 할당을 추가 제안 및 위의 형식을 사용할 수 있습니다 이드 만 반환하십시오.

관련 문제