错误查询失败,请查看手册第3行

时间:2017-06-20 15:55:48

标签: php sql download upload

我的upload.php和view.php工作正常,但我无法创建下载文件的下载链接。 db name = dbtuts。

和下载选项的链接是:

<td><a href='download.php?id=<?php echo $row['file_name']; ?>'>Download</a></td>

以下是download.php的代码

<?php
  // Make sure an ID was passed
    if(isset($_GET['id'])) {
        // Get the ID$id
        $file_name= ($_GET['id']);
        // Make sure the ID is in fact a valid ID
    if($file_name == NULL) {
        die('The name is invalid!');
    }
    else {`enter code here`
        // Connect to the database
        $dbLink = new mysqli('localhost', 'root', "", 'dbtuts');
        if(mysqli_connect_errno()) {
            die("MySQL connection failed: ".mysqli_connect_error());
        }

         // Fetch the file information
        $query = "
            SELECT file, type, size
            FROM tbl_uploads
            WHERE `file` = {$file_name}";
        $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);

                header("Content-Type: ".$row['type']);
                header("Content-Length: ".$row['size']);
                header("Content-Disposition: attachment"); 
                // disopsition = attachment to force download request
                // Print data
                echo $row['data'];
            }
            else {
                echo 'Error! No file exists with that ID.';
            }
            // Free the mysqli resources
            @mysqli_free_result($result);
        }
        else {
            // if there is an error excuting the query
            echo "Error! Query failed: <pre>{$dbLink->error}</pre>";
        }
        // close database connection
        @mysqli_close($dbLink);
    }
}
else {
    // if no ID passed
    echo 'Error! No ID was passed.';
}
?>

0 个答案:

没有答案