2014-11-24 2 views
0

결과에 액세스 할 때 클래스로 구성된 다차원 배열을 가져와야하는데 구문 오류, 예기치 않은 '$ Contrato'(T_VARIABLE) 지시에 따라

print_r $ Contrato-> getDatosContrato();

아이디어가 있으십니까?

print_r($something); 
+0

많은 감사 , 나는 문제를 볼 수 없었다 :)) – Jam

답변

2

사용 인 print_r()없이 사용할 수, 언어 구조, 그래서 모두에게

foreach($stmt as $Contrato) 
{ 
    print_r ($Contrato->getDatosContrato()); 
    echo '<br />'; 
} 
6

print_r 함수입니다 .

대괄호가 필요합니다.

print_r()은 대괄호가 필요한 함수입니다.

echo

, 당신은 이런 식으로 괄호 (같은 include, require, ...)

2
print_r($Contrato->getDatosContrato()).'<br />'; 

print_recho을 달리 당신이 브래킷을 놓치고 있도록 여기, 내 코드

require_once('config.php'); 

class Contrato { 

    public $mainContractor; 
    public $MiCodigo; 
    public $title; 
    public $description; 
    public $buyerCompany; 
    public $buyerUser; 
    public $buyerUserId; 
    public $categoryCode; 
    public $categoryName; 

    public function getDatosContrato() {   
     $parametros = array(
       "contract"=> array(
          "mainContractor" => array(
               "id" => $this->mainContractor 
               ), 
          "MiCodigo" => $this->MiCodigo, 
          "title" => $this->title, 
          "description" => $this->description, 
          "buyerCompany" => array(
              "id" => $this->buyerCompany 
              ),  
          "buyerUser" => $this->buyerUser, 
          "buyerUserId" => $this->buyerUserId, 
          "categoryList" => array(
              "category" => array(
                 "categoryCode" => $this->categoryCode, 
                 "categoryName" => $this->categoryName 
                 ) 
              )  
         ) 
     ); 
     return $parametros; 
    } 
} 

try 
{ 

    $BD = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DATABASE, DB_USER, DB_PASSWORD); 

    $stmt = $BD->query("SELECT * FROM Contracts"); 

    $stmt->setFetchMode(PDO::FETCH_INTO, new Contrato); 

    foreach($stmt as $Contrato) 
    { 
     print_r $Contrato->getDatosContrato().'<br />'; 
    } 

    $BD = null; 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 
관련 문제