php - 警告 : Invalid argument supplied for foreach() in C:\xampp\htdocs\SwaziTour\rpt_payment_history. php 第 48 行

标签 php mysql

当我尝试使用 php 将 mysql 数据导出为 pdf 时,出现以下错误;

警告:第 48 行 C:\xampp\htdocs\SwaziTour\rpt_ payment_history.php 中为 foreach() 提供的参数无效

警告:第 52 行 C:\xampp\htdocs\SwaziTour\rpt_ payment_history.php 中为 foreach() 提供的参数无效

fatal error :未捕获异常“异常”,消息为“FPDF 错误:某些数据已输出,无法发送 PDF 文件(输出从 C:\xampp\htdocs\SwaziTour\rpt_ payment_history.php:48 开始)”在 C:\xampp\htdocs\SwaziTour\fpdf.php:271 堆栈跟踪:#0 C:\xampp\htdocs\SwaziTour\fpdf.php(1052): FPDF->Error('某些数据有...' ) #1 C:\xampp\htdocs\SwaziTour\fpdf.php(999): FPDF->_checkoutput() #2 C:\xampp\htdocs\SwaziTour\rpt_ payment_history.php(57): FPDF->Output() # 3 {main} 在第 271 行的 C:\xampp\htdocs\SwaziTour\fpdf.php 中抛出

我的代码如下;

<?php
$result = mysql_query("select p.payment_id, u.company, p.description, p.payment_date, p.amount, p.status 
                                 FROM payment p
                                 left join user u on p.user_id = u.user_id
                                 order by p.payment_id desc")or die(mysql_error());

    $header = mysql_query("SELECT UCASE(`COLUMN_NAME`)
    FROM `INFORMATION_SCHEMA`.`COLUMNS` 
    WHERE `TABLE_SCHEMA`='crud' 
    AND `TABLE_NAME`='payment'
    and `COLUMN_NAME` in ('payment' p,'user u')");
    require('fpdf.php');
    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',12);
    foreach($header as $heading) {
        foreach($heading as $column_heading)
            $pdf->Cell(95,12,$column_heading,1);
    }
    foreach($result as $row) {
        $pdf->Ln();
        foreach($row as $column)
            $pdf->Cell(95,12,$column,1);
    }
    $pdf->Output();
?>

最佳答案

运行查询后您实际上并没有获取数据。阅读http://php.net/manual/en/function.mysql-fetch-array.php ,也许可以尝试类似的事情

$res = mysql_query("SELECT UCASE(`COLUMN_NAME`)
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='crud' 
AND `TABLE_NAME`='payment'
and `COLUMN_NAME` in ('payment' p,'user u')");

while(false!==($heading=mysql_fetch_array($res,MYSQL_ASSOC))){
    foreach($heading as $column_heading)
        $pdf->Cell(95,12,$column_heading,1);
    }
}

关于php - 警告 : Invalid argument supplied for foreach() in C:\xampp\htdocs\SwaziTour\rpt_payment_history. php 第 48 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344623/

相关文章:

php - 如何计算两个文本/字符串之间的相似度或差异度百分比?

php - 在 php 中检索 SQL 日期时间和 POST

PHP preg_replace - 不包含短语的正则表达式

MySQL 根据另一个不同的列计数对列求和

mysql - 同步 2 个表 : one with engine = Memory another with engine = InnoDB

mysql - 可以在 WHERE BETWEEN 语句中使用单字符通配符吗?

php - 如何在 php5.6 上激活 SOAP

php - Eloquent 查找表和模型创建

mysql - 您使用什么工具通过 JDBC 连接到 AWS Athena

php - 检查准备好的语句 PDO 的结果?