从mysql获取longtext时不推荐使用的数据。 (PHP / MySQL的)

时间:2014-01-06 21:22:37

标签: php mysql

我正在使用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.';
}
?>

0 个答案:

没有答案