표시되지 않습니다 다음을 수행하여 6 개의 행을 표시하십시오.위해서 var_dump 내가 내 쿼리에 의해 반환 된 PDOStatement 객체의 구조를 볼려고 반환 된 데이터
$firstRow=true;
echo '<table>';
foreach ($result as $rowId => $rowData) {
if ($firstRow) {
echo "<thead><tr><th>Row Number</th>";
foreach ($rowData as $fieldId => $fieldData) {
echo "<th>$fieldId</th>";
}
echo "</tr></thead>";
$firstRow=false;
}
echo "<tr><td>$rowId</td>";
foreach ($rowData as $fieldId => $fieldData) {
$fieldData=str_replace("\n","<br>",$fieldData);
echo "<td>$fieldData</td>";
}
echo "</tr>";
}
echo "</table>";
하지만 객체 $result
의 내부 구조에 대한 호기심, 그래서 var_dump
이 '을 에드이있어 :
object(PDOStatement)#4 (1) {
["queryString"]=>
string(185) "SELECT co.CompanyId, co.Name, co.Address, co.City, co.State, ctry.NameEnglish, co.PostalCode FROM company AS co LEFT JOIN country AS ctry ON ctry.CountryId = co.CountryId ORDER BY Name;"
}
행과 관련된 배열을 표시하지 var_dump
않는 이유와 전지?
당신은 다음과 같이했다 :'$ result = $ result-> fetchAll();'? 그리고 나서'var_dump ($ result); ' – Rizier123
아니요. 첫 번째 코드 세그먼트에서 두 줄을 수행 한 다음'var_dump ($ result);'를 수행했습니다. 필자는 6 행을 표시하기 위해 코드에서 명시 적으로 '가져 오기'를 사용하지 않습니다. –
docs (http://php.net/PDOStatement)에 따르면 'PDOStatement' 객체의 유일한 속성은'queryString'입니다. 그것은 또한'Traversable'을 구현합니다. 그래서 그것이 당신을 "foreach"하게합니다. 그렇게하면 PHP는 객체에 대한 메소드를 호출합니다. 이러한 메소드는 행 데이터를 가져옵니다. 행은 객체의 속성이 아니므로 'var_dump'에 나타나지 않습니다. –