PHP-文件编辑表单显示为空

PHP-文件编辑表单显示为空,php,html,mysql,sql,mysqli,Php,Html,Mysql,Sql,Mysqli,我想制作一个编辑文件表单,在这里你可以选择一个不同的文件来上传并替换以前的文件。这是我的密码 <?php require("config.php"); $id = $_GET['id']; $sql = "SELECT * FROM contracts WHERE id= '$id'"; $result = $con->query($sql); while ($row = $result->fetch_assoc()) { ?> <html><

我想制作一个编辑文件表单,在这里你可以选择一个不同的文件来上传并替换以前的文件。这是我的密码

<?php
require("config.php");
$id = $_GET['id'];

$sql = "SELECT * FROM contracts WHERE id= '$id'";
$result = $con->query($sql);
while ($row = $result->fetch_assoc())
{   
?>

<html><head></head>
<body>

<form method="GET" action="" enctype="multipart/form-data">

    ID: <?php echo $id; ?><br>
    <input type="hidden" name="id" value="<?php echo $id; ?>" />

    Upload File:
    <input type="file" name="upload" value="<?php echo $row($_FILES['name']) ?>"/><br>  
    <input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>

<?php
}

if(isset($_GET['edit'])  ){


if ($_FILES['upload']['size'] != 0 ){

$filename = $con->real_escape_string($_FILES['upload']['name']);
$filedata= $con->real_escape_string(file_get_contents($_FILES['upload']['tmp_name']));
$filetype = $con->real_escape_string($_FILES['upload']['type']);
$filesize = intval($_FILES['upload']['size']);

$query = "UPDATE `contracts` set `filename` = '$filename',`filedata` = '$filedata', `filetype` = '$filetype',`filesize` = '$filesize' WHERE `id` = '$id' " ;

if ($con->query($query) == TRUE) {
echo "<br><br> New record created successfully";
} else {
    echo "Error:<br>" . $con->error;
}

} else {

$filename = $con->real_escape_string($_FILES['upload']['name']);
$filetype = $con->real_escape_string($_FILES['upload']['type']);
$filesize = intval($_FILES['upload']['size']);

$query = "UPDATE `contracts` set `filename` = '$filename', `filetype` = '$filetype',`filesize` = '$filesize' WHERE `id` = '$id' " ;

if ($con->query($query) == TRUE) {
echo "<br><br> New record created successfully";
} else {
echo "Error:<br>" . $con->error;
}

}
$con->close(); 
}   

?>

正确的编码应该是

Upload File:
    <?php echo $row['filename'] ?>
    <input type="file" name="upload"/><br>  
    <input type="submit" name="edit" value="Submit"/>
上传文件:


您无法使用GET方法上载文件。警告:使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用手动转义和字符串插值或串联来完成此操作,因为这样会创建严重的错误。意外地未替换数据是一个严重的风险。请尝试摆脱用不必要的东西(如
==TRUE
)将代码弄乱的习惯。许多函数被设计为返回计算为true的值,因此文字比较是多余的。@Fred ii-我尝试使用POST方法。还是一样problem@MechaMetalHead我的回答不对,对此我深表歉意。但我已经搜索过了,发现不可能将默认值添加到文件输入中。