는 설명해 보자 : 여기 foreach 루프는 치명적인 오류를 제공합니다 : 비 개체의 멤버 함수의 bindParam()를 호출 내가 이와 같은 오류를 처음 얻을 것
내 코드입니다 :function printSiteIndexedItems($co, $id){
global $allSections;
foreach($allSections as $aSection => $aSectionName){
$tr = $co->prepare("SELECT COUNT(id) FROM ". $aSection ." WHERE site=:id AND valide=1");
$tr->bindParam(':id', $id, PDO::PARAM_INT);
$tr->execute();
if($indexedItems = $tr->fetchColumn()) echo '<p>'. $aSectionName .' : '. $indexedItems .'</p>';
}
}
첫 번째 반복은 정상적으로 작동하며 원하는 항목 (범주 이름과 요소 수)을 인쇄합니다.
그러나 첫 번째 반복 한 후, 나는이 고전적인 오류 얻을 : 그것은 첫 번째 반복 작동으로Fatal error: Call to a member function bindParam() on a non-object in
는 사실, $ 공동 유효한 PDO 개체입니다. 그러나 우리가 두 번째로 들어가 자마자 더 이상 존재하지 않는 것 같습니다. : o
나는 PDO에 다소 새로운 것이므로 어쩌면 그것은 내가 아직 인정하지 않은 정상적인 행동 일 것이다. 도와주세요 ! =)
코드 블록에 코드를 넣어주세요, 그렇지 않으면 읽을 수 있습니다. –
당신은 $ foo와 같은 코드 조각조차도 의미합니까? – Pioul
왜 같은 종류의 데이터에 대해 여러 개의 테이블이 있습니까? 이것은 데이터베이스 디자인 코드의 냄새입니다. –