FPDF не может загрузить документ PDF с подключением sql - PullRequest
0 голосов
/ 18 января 2020

У меня проблемы с подключением к базе данных в формате fpdf. php. Код работает без подключения sql include ("db_connection. php"). Соединение с моей базой данных (работает):

session_start();
ini_set('display_errors', true);

$hostname = "localhost";
$database = "db";
$username = "username";
$password = "password";

$db = mysqli_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); 
mysqli_select_db($db, $database);
?>

Мой fpdf. php код:

<?php
define('FPDF_FONTPATH','.');
use setasign\Fpdi\Fpdi;
use setasign\Fpdi\PdfReader;

require('fpdf.php');
require('src/autoload.php');


include_once('db_connection.php');
    if ($_POST['id_user_output'] ) { //button
        $idUser=$_POST['id_user_output'];
        $sql="SELECT * FROM user where id_user='$idUser'";
        $result1 = mysqli_query($db,$sql);
        $row = mysqli_fetch_assoc($result1);
        $field1name = $row["id_user"];
        $field2name = $row["name"];
        $field3name = $row["surname"];
        }   


$pdf = new FPDI();
$pdf->SetAutoPageBreak(false);
$pageCount = $pdf->setSourceFile('EMPTY-UPN.pdf');
$pageId = $pdf->importPage(1, PdfReader\PageBoundaries::MEDIA_BOX);

$pdf->addPage();
$pdf->useImportedPage($pageId, 0, 0, 210);
$pdf->AddFont('CourierNewPS-BoldMT','','courbd.php');

$pdf->SetFont('CourierNewPS-BoldMT','',8);//,'B',10);
//$pdf->setFontSize(10);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetXY(5, 207);
$pdf->Write(0, '$field1name');

$pdf->SetFont('CourierNewPS-BoldMT','',8);//,'B',10);
//$pdf->setFontSize(10);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetXY(5, 211);
$pdf->Write(0, '$field2name');

// namen plačnika talon
$pdf->SetFont('CourierNewPS-BoldMT','',8);//,'B',10);
//$pdf->setFontSize(10);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetXY(5, 223);
$pdf->Write(0, '$field3name');

$pdf->Output();
?>

Это работает, если я не включаю db_connection. php в противном случае выдает ошибку "Ошибка загрузить PDF документ ". Если я жестко закодирую имена полей со строками, PDF загружается правильно. Любая помощь будет полезна.

1 Ответ

0 голосов
/ 20 января 2020

Итак, я решил проблему с добавлением ob_start(); в начале файла php, который включает буферизацию вывода. И добавил ob_end_flush(); в конце php файла. Может быть полезным для кого-то.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...