FPDF错误:一些数据已经输出


FPDF error: Some data has already been output

每当我尝试使用FPDF创建PDF时,我得到以下错误:

FPDF错误:一些数据已经输出,不能发送PDF文件(输出路径开始:15)。

当我的文件中只有PDF脚本时,它可以工作,但我需要从数据库中收集一些数据。

我已经将ob_clean();添加到函数Output();中,但不幸的是,它仍然不起作用。

下面是我的代码:
<?php
include "connect.php";
$orderId = $_GET['OrderId'];
$findOrders = mysql_query("SELECT * FROM orderLines WHERE OrderId = $orderId ");
if (!$findOrders) { 
    die('Invalid query: ' . mysql_error());
}
while($row=mysql_fetch_array($findOrders)){
    $article = $row['article'];
    $quantity = $row['quantity'];
    $price = $row['price'];
}
require('fpdf17/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

当这个错误显示时,它表示一些数据正在发送到PHP文件之外的浏览器,也就是说,FPDF将头发送到文件为PDF,

header('Content-Type: application/pdf');

但是,您正在输入一些数据,例如在标头规范之前输入字符甚至空白,这会导致错误。

两个选择:

1)在剧本开头制作require('fpdf17/fpdf.php');。因此,header不能更改,并且在header设置之前不会有入口;

2)如果你说脚本工作没有数据库搜索,那么错误可能是在connect.php文件。看看它,以确保它不会向浏览器发送任何内容(在<?php ?>内部和外部)!

注:: FPDF在调用时已经做了ob_clean()