无法使用PHP将数据库中的PDF替换为另一个PDF

时间:2014-03-26 03:42:05

标签: php mysql pdf

我正在尝试将之前在MySQL中上传的pdf替换为另一个pdf。我创建了一个 href [edit]供用户选择pdf文件并链接到editDB.php,其中放置了查询更新。


这是edit.DB.php

<?php
        // Connect to the database
        $host="localhost"; // Host name 
        $username="root"; // Mysql username 
        $password=""; // Mysql password 
        $db_name="is"; // Database name 
        $tbl_name="publication"; // Table name 

if(isset($_POST['submit']) && $_FILES['userfile']['size'] > 0)
    {
        $fileName = $_FILES['userfile']['name'];
        $tmpName  = $_FILES['userfile']['tmp_name'];
        $fileSize = $_FILES['userfile']['size'];
        $fileType = $_FILES['userfile']['type'];

        $fp      = fopen($tmpName, 'r');
        $content = fread($fp, filesize($tmpName));
        $content = addslashes($content);
        fclose($fp);

        if(!get_magic_quotes_gpc())
            {
                $fileName = addslashes($fileName);
            }

        $conn = mysql_connect("$host", "$username", "$password"); 
        if(! $conn )
            {
              die('Could not connect: ' . mysql_error());
            }

连接数据库,获取file_id,获取更新的其他数据

$conn = mysql_connect("$host", "$username", "$password"); 
        if(! $conn )
            {
              die('Could not connect: ' . mysql_error());
            }

        if (isset($_GET["id"])) 
        {                           
                $id =$_GET["id"];
        }   
        else
        {
            echo'failed';
        }

        mysql_select_db($db_name);

        $title=mysql_real_escape_string($_POST['title']);
        $author=mysql_real_escape_string($_POST['author']);
        $year=mysql_real_escape_string($_POST['year']);
        $abs=mysql_real_escape_string($_POST['abstract']);

在此查询

$query="update publication set title='".$title."', author='".$author."', year='".$year."' , abstract='".$abs."', file_name='".$fileName."', file_size='".$fileSize."', file_type='".$fileType."', content='".$content."' where file_id='$id'";

        mysql_query($query) or die(mysql_error()); 


        echo '<script type="text/javascript">alert("'.$title.' updated!");
                window.location.href="publication.php";
            </script>';

        mysql_close($conn);
        }
?>

我遇到的问题是,在我的编辑表单中输入更新的信息之后。数据成功导向editDB.php。弹出对话框显示更新的数据,但数据未更新数据库和显示信息的页面。我会感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

而不是

if (isset($_GET["id"])) 
        {                           
                $id =$_GET["id"];
        }   
        else
        {
            echo'failed';
        }

我将其更改为

if(isset($_POST['submit'])&& $_FILES['userfile']['size'] > 0)
    {
        $id =$_POST["id"];

当然,id必须正确传递,并确保id与你的数据库匹配。

此代码可以使用。希望能够帮助你们所有人。