使用新文件更新mysql数据库中的现有文件

时间:2015-03-30 15:48:58

标签: php mysql



<form  action="insertresubmittedpaper.php" autocomplete="on" enctype="multipart/form-data" method="post"> 
                               <h1>Re-Submit Paper</h1>
                                 
								 
								
								
								
								<p>
								
								
        
							
								<input type="file" name="uploaded_file"><br>
                               
							
								</p>
								
								
								
								
								<br>
								 
						<br>
                                <center> 
								<p class="submit button"> 
                                <input type="submit" value="Submit"> 
								</p>
								</center>
								
                            </form>
&#13;
&#13;
&#13;

您好我正在处理我需要将文件插入数据库的项目,之后我有一个选项,用户可以使用表单更新数据库中的现有文件,一旦更新,它将是重定向到另一个页面。 我使用的是PHP,mysql。

问题是新文件未更新到数据库中,但它正在重定向到另一个页面。 我在这里发布我的代码。请建议我做一些必要的修改。

<?php
session_start(); 
if(isset($_SESSION['username']))  
  { 
  echo "<div id='User'>Welcome: " . $_SESSION['username'] . "</div>"; 
  }  
else 
   { 
     echo "<div id='Guest'>Welcome: Guest </div>"; 
     } 



/*
Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password)
*/

if(isset($_FILES['uploaded_file'])) {
    // Make sure the file was sent without errors
    if($_FILES['uploaded_file']['error'] == 0) {



$link = mysqli_connect("localhost", "kuda", "secret", "researchcloud");

// Check connection
if($link === false)
{
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$UserName=$_SESSION['username'];
$Subject = mysqli_real_escape_string($link, $_POST['subject']);
$Category = mysqli_real_escape_string($link, $_POST['category']);
$Journal = mysqli_real_escape_string($link, $_POST['journal']);



$mime = mysqli_real_escape_string($link, $_FILES['uploaded_file']['type']);
$data = mysqli_real_escape_string($link, file_get_contents($_FILES  ['uploaded_file'] ['tmp_name'] ));


// attempt insert query execution
$sql = "UPDATE rc_ijai set FullPaper='$data', mime='$mime' where A1Email='$UserName' and Journal='$Journal'";



 if(mysqli_query($link, $sql))
 {
 header('Location:authorprofile.php');

} 
else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

mysqli_close($link);
}
}

else {
        echo 'An error occurred while the file was being uploaded. '
           . 'Error code: '. intval($_FILES['uploaded_file']['error']);
    }


?>

1 个答案:

答案 0 :(得分:0)

不要使用mysqli_query()来检查查询是否已执行。专门用于插入和更新查询。因为对于更新查询,有时会执行查询而不会更新行。因此,对于插入和更新,请检查查询执行后受影响的行数。检查完之后您可以轻松解决它。