sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo actualizar un archivo PDF que ya se ha agregado a la base de datos en PHP?

$_POST['contractupload'] no funcionará El nombre del archivo solo está en $_FILES . Debe procesarlo de la misma manera que lo hace en insert.php .

También mostré cómo reescribir su código usando una declaración preparada en lugar de sustitución de variables.

Y deberías usar move_uploaded_file() en lugar de copy() . Consulte Diferencia entre copiar y mover_archivo_cargado .

<?php

// Include config file
require_once "new_db_connect.php";

if($_POST) {
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $embg = $_POST['embg'];
    $contract_file = basename($_FILES['contractupload']['name']);
    $contract_path = "files/contracts/$contract_file";

    move_uploaded_file($_FILES['contractupload']['tmp_name'], $contract_path);

    $id = $_POST['id'];

    // UPDATE the info
    $stmt = $connect->prepare("UPDATE addemployees SET fname = ?, lname = ?, embg = ?, contractupload = ? WHERE id = ?");
    $stmt->bind_param("ssssi", $fname, $lname, $embg, $contract_file, $id);
    if($stmt->execute()) {
        header("location: employees.php");
    } else {
        echo "Erorr while updating record : ". $stmt->error;
    }

    $connect->close();

}

?>