2012-08-15 2 views
2

내 while 루프가 중단됩니다.비 객체의 fetchObject() 멤버 함수 호출

$의 PDO 수동 "PDOStatement::execute에 따르면 내 DB 연결

function getSelectedPhoto($the_selected_id) { 
global $pdo; 

$id = $the_selected_id; 

$stmt = $pdo->prepare("SELECT handle, src FROM images WHERE id = :id LIMIT 1"); 
$vars = array(':id' => $id); 
$result = $stmt->execute($vars); 

if($result) { 
    while($row = $result->fetchObject()) { 
     echo '<img src="../' . $row->src . '" alt="image" /><br />'; 
     echo '<p id="handle">' . $row->handle . '</p>'; 
    } 
} else die("There was some problem"); 

}

+1

당신은 ($ 결과)를 위해서 var_dump 때 당신은 무엇을 어떻게해야합니까? –

+2

글로벌을 사용하지 말고, 의존성 주입을 찾으십시오. –

답변

3

에 전화입니다 ... PHP 매뉴얼을 읽어하지만 메신저 여기서 잘못하고 무엇을 알아낼 수 있었다 "는 execute() -method 반환 true 또는 false 아닌 결과 :

반환 성공할 경우 TRUE를, 실패 할 경우 FALSE. $result->fetchObject()를 호출 할 때

으로 이어질 것입니다 물론 "가 아닌 객체의 멤버 함수 fetchObject()를 호출합니다."

코드는 다음과 같아야합니다

$result = $stmt->execute($vars); 

if ($result) { 
    while($row = $stmt->fetchObject()) {} 
} 
+0

이 코드를 하루 종일 쳐다보고 있기 때문에 간과되었습니다! 감사합니다. – jessicaldale

관련 문제