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


update an existing file in mysql database with new file

<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>

你好,我正在做一个项目,我需要将文件插入数据库,之后我可以选择用户可以使用表单更新数据库中的现有文件,更新后将重定向到另一个页面。我使用的是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']);
    }

?>

不要使用mysqli_query()来检查查询是否已执行。专门用于插入和更新查询。因为对于更新查询,有时会执行一个查询,而非行将被更新。因此,对于插入和更新,请检查查询执行后受影响的行数。检查后,你可以很容易地解决它。