2013-02-24 2 views
-4

어떻게 클래스 외부에서 $ pos var에 액세스 할 수 있습니까? 그래서 내 인덱스에서 사용할 수 있습니다 : echo $ pos 또한이 인덱스를 내 인덱스에 포함 시켰습니다.클래스 외부의 인덱스에서 var 사용 PHP

public function CheckProfile(){ 

    $get = $this->db->query("SELECT positive, posts FROM users WHERE user='". $_SESSION['user'] ."'"); 

    while($row = $get->fetch(PDO::FETCH_ASSOC)) 
     { 
      return $pos = $row['post']; 
     } 

    } 
+1

while 루프에서'return'을 사용하는 것은 그것이 무엇을 할 것이라고 생각 하던지하지 않을 것입니다. 이 코드로 정확히 무엇을하려고합니까? – geoffspear

+0

메서드의 반환 값을 사용할 수 있습니다. 그러나 잘못된 결과 열에 액세스하고있는 것일 수 있습니다. 'post'보다는'posts'일까요? – mario

+0

하나의 행만 예상합니까? 'while' 루프의'return'은 많은 의미를 가지지 않습니다. while 루프는 한 번만 실행될 것입니다 ... – Havelock

답변

0

모두들 당신이 말했듯이, 당신의 코드에는 많은 잘못된 것들이 있습니다. 클래스와 객체를 더 잘 사용하는 법을 배워야합니다. 당신의 PHP 파일에서, 그리고

public function CheckProfile($user) { 

    $ret = false; 

    $stmt = $this->db->prepare("SELECT positive, posts FROM users WHERE user = :user"); 
    $stmt->bindParam(':user', $user, PDO::PARAM_STR); 

    if ($stmt->execute()) { 
     $ret = $stmt->fetchAll(PDO::FETCH_ASSOC); 
    } 

    return $ret; 
} 


처럼 사용 : 당신은 클래스가

가정의 공개 방법을 정의 할 수 있습니다 : 어쨌든, 여기에서 시작하는 무언가이다

$UserData = $YourClassInstance->CheckProfile($_SESSION['user']); 
if ($UserData === false) { 
    echo 'Something went wrong...'; 
} else { 
    print_r($UserData); 
} 

여기에서 시작하여 실제로 필요한 것을 성취하십시오.