2013-08-21 5 views
0

으로 저장합니다. PDO를 사용하고 있으며 foreach 루프를 반향 출력 할 때 코드 레코드 배열을 출력합니다. 그러나 변수 내에서이 값을 저장하는 방법을 알아낼 수는 없습니다. echo$foo =으로 바꾸면 변수가 비어 있습니다. 내 두뇌가 막혔다. 힘들지는 않다는 것을 알지만, 내가 바꿀 필요가있는 것은 생각할 수 없다.PDO 출력 배열을 변수

모든 행을 변수 내에 저장하고 싶습니다. 예 : ['2013-08-09','Heptageniidae',3],['2013-08-09','Ephemerellidae',2],

감사

$sql = "SELECT * FROM userrecords"; 
$stmt = $conn->prepare($sql); 
$stmt->execute(); 

// $ 데이터 = $ stmt-> fetchAll();

echo json_encode($stmt->fetchAll(PDO::FETCH_ROW); 


    //foreach ($data as $row): 
    // echo "['" . $row['eventdate'] . "','" . $row['scientificname'] . "'," . $row['category_of_taxom'] . "],"; 
    //endforeach 

답변

1

다음은

echo json_encode($stmt->fetchAll(PDO::FETCH_NUM)); 

를하고있는 일의 올바른 방법이며, 여기 당신이 잘못

$foo = ''; 
foreach ($data as $row) 
{ 
    $foo .= "['" . $row['eventdate'] . "','" 
      . $row['scientificname'] . "'," . $row['category_of_taxom'] . "],"; 
} 
echo $foo; 

을 요구 한 것입니다.

수동으로 JSON 문자열을 만들지 마십시오.

+0

출력이 없습니다. '$ stmt = $ conn-> prepare ($ sql);' – Skot

+0

실행 후 그것을 놓아야 만한다. –

+0

원래 질문을 편집했는데 여전히 결과가 출력되지 않았다? json을 사용하는 것에 대한 정보를 주셔서 감사합니다 – Skot

-1

아무 일도하지 않는 것처럼 보입니다. $ stmt-> errorInfo()를 검사 할 수 있습니다. 데이터베이스 문제에 대해서는 var_dump()를 사용할 수 있습니다. 또는 print_r(); PHP에서는 fetchAll() 명령에 의해 반환 된 배열의 내용을 검사합니다.