我正在使用php从mysql数据库中检索长文本文件。这些文件是pdf编码为base64字符串。这些字符串在数据库中工作得非常好并产生我想要的pdf,但是当我通过php检索数据时,字符串中间总会缺少一大块字符。
我用多个不同的字符串尝试了这个,它不断给我相同的结果,字符串中间缺少一大块字符。任何帮助将不胜感激。
这是我正在使用的代码,我的错误。目前我只是将字符串打印到屏幕上。
<?php
// Make sure an ID was passed
if(isset($_GET['id'])) {
// Get the ID
$id = intval($_GET['id']);
// Make sure the ID is in fact a valid ID
if($id <= 0) {
die('The ID is invalid!');
}
else {
// Connect to the database
$dbLink = new mysqli('***', '***', '***', '***');
if(mysqli_connect_errno()) {
die("MySQL connection failed: ". mysqli_connect_error());
}
// Fetch the file information
$query = "SELECT name, data FROM report_storage WHERE `id` = {$id}";
$result = $dbLink->query($query);
if($result) {
// Make sure the result is valid
if($result->num_rows == 1) {
// Get the row
$row = mysqli_fetch_assoc($result);
// Print headers
// Print data
$data = $row['data'];
//echo strlen($data);
echo $data;
}
else {
echo 'Error! No image exists with that ID.';
}
// Free the mysqli resources
@mysqli_free_result($result);
}
else {
echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
}
@mysqli_close($dbLink);
}
}
else {
echo 'Error! No ID was passed.';
}
?>