sql >> Database >  >> RDS >> Mysql

dubbele lege regel ingevoerd in mysql bij het uploaden van bestanden

voor zover ik zie, wordt uw databasecode uitgevoerd wanneer het formulier voor het eerst wordt geladen, maar er is nog geen bestand geüpload. Dus je moet je database-gerelateerde code naar binnen verplaatsen

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))

Hele code:

<?php include 'dbc.php'; page_protect();

if(!checkAdmin()) {header("Location: login.php");
exit();
}

$host  = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$login_path = @ereg_replace('admin','',dirname($_SERVER['PHP_SELF']));
$path   = rtrim($login_path, '/\\');

foreach($_GET as $key => $value) {
    $get[$key] = filter($value);
}

foreach($_POST as $key => $value) {
    $post[$key] = filter($value);
}   
?>

<?php 
if($_FILES['photo']) //check if we uploading a file
{
    $target = "images/test/"; 
    $target = $target . basename( $_FILES['photo']['name']); 

    $title = mysql_real_escape_string($_POST['title']); 
    $desc = mysql_real_escape_string($_POST['desc']);  
    $pic = "images/test/" .(mysql_real_escape_string($_FILES['photo']['name']));
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{
    mysql_query("INSERT INTO `test` (`title`, `desc`, `photo`) VALUES ('$title', '$desc', '$pic')") ;     

    echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; 
} 
else 
{ 
    echo "Sorry, there was a problem uploading your file."; 
    var_dump($_FILES); //for debug purposes
}
} 
?> 

<form enctype="multipart/form-data" action="uploader.php" method="POST"> 
Title: <input type="text" name="title"><br> 
Description: <input type="text" name = "desc"><br>  
Photo: <input type="file" name="photo"><br> 
<input type="submit" value="Add"> 
</form>



  1. Gebruikers-ID omzetten in naam (aparte tabellen) in PHP

  2. Hoe de standaardwaarde van MySQL DateTime (niet TIMESTAMP) in te stellen op NOW() of Current_DateTIME?

  3. Gegevens invoegen en externe sleutels instellen met Postgres

  4. varchar2(n BYTE|CHAR) standaard -> CHAR of BYTE