0
結果セットを反復処理し、PHPExcelを使用してデータをエクスポートするのに列名と値を取得しようとしていますが、$qVistadet->fetchall
は機能しません以下のコードを入力し、undefined offset
のようなエラーを取得します。
しかし、$qVistadet->fetch
は動作しますが、結果セットの最初の行だけを返すため、役に立ちません。
問題についてお手伝いできますか?
$qVistadet = $db->prepare("CALL spvistadetailsbystaffid(?)");
$qdetails->bindParam (1, $staffid);
$qdetails->execute();
$col=0;
$row1=1;
while($row = $qVistadet->fetchAll(PDO::FETCH_ASSOC))
{
foreach ($row as $key=>$value)
{
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1, $key);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row1 + 1, $value);
$col++;
}
$row1++;
}
すべてをフェッチしている場合、なぜ 'while'ループが必要ですか?私は混乱している。 –
'PDO :: fetchAll'は結果セット全体を配列の数値配列にフェッチします。 'fetchAll'を単純な' fetch'で置き換え、他に何も変更しないと、あなたのコードはうまくいくはずです。 –
しかし、フェッチは単一の行だけを返しています。 – Wings2fly