首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在图像更新过程中,除了我更新的图像外,其他图像都是空的。

问在图像更新过程中,除了我更新的图像外,其他图像都是空的。
EN

Stack Overflow用户
提问于 2022-08-01 05:31:14
回答 1查看 66关注 0票数 -1

当其他图像被更新时,我尝试了很多不同的方法来保留这些图像。一切都很好,只是当我上传或更新其中一个图像时,其他图像被删除或空保存到数据库中。

代码语言:javascript
复制
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
session_start();
    include ("connection.php");
    include ("functions.php");
    $user_data = check_login($con);

if(count($_POST)>0) {

if(!empty($_FILES['garden_photo1']['name'] . $_FILES['garden_photo2']['name']) && isset($_FILES["garden_photo1"]["name"], $_FILES['garden_photo2']['name'] )){

$id =  $_POST['id'];
$cultivar_name = $_POST['cultivar_name'];    
$breeder = $_POST['breeder'];
$lineage1 = $_POST['lineage1'];
$garden_photo1 = $_FILES['garden_photo1']['name'];
$ImageName = $_FILES['garden_photo1']['name'];
$ImageName2 = $_FILES['garden_photo2']['name'];
$target = "/cultivar/images/" . $ImageName;
$target2 = "/cultivar/images/" . $ImageName2;
move_uploaded_file($_FILES['garden_photo1']['tmp_name'], $target);
move_uploaded_file($_FILES['garden_photo2']['tmp_name'], $target2);
$stmt = $con->prepare("UPDATE cultivar_db set  cultivar_name = ?, breeder = ?, lineage1 = ?, garden_photo1 = ?,  garden_photo2 = ?  WHERE id= ? ");
$stmt->bind_param( "sssssi",  $cultivar_name, $breeder, $lineage1, $garden_photo1, $garden_photo2, $id);
$stmt->execute();
  }else {
$id =  $_POST['id'];
$cultivar_name = $_POST['cultivar_name'];    
$breeder = $_POST['breeder'];
$lineage1 = $_POST['lineage1'];
$stmt = $con->prepare("UPDATE cultivar_db set  cultivar_name = ?, breeder = ?, lineage1 = ?  WHERE id= ? ");
$stmt->bind_param( "sssi",  $cultivar_name, $breeder, $lineage1,  $id);
$stmt->execute();
  }
$message = "Cultivar Record Modified Successfully!";
}



$id =  $_GET['id'];   
$sql = "SELECT * FROM cultivar_db WHERE id=?"; 
$stmt = $con->prepare($sql); 
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result(); 
$row = mysqli_fetch_array($result);

?>

代码语言:javascript
复制
<html>
<head>
<title>Update Cultivar Data</title>
<style>
.success{color: green; font-size:20px; fonte-weight:bold;}

</style>
</head>
<body>
<form name="cultivar_db" method="post"  enctype="multipart/form-data">


<div style="padding-bottom:5px;">
<p><a href="cultivar-database.php">Go Back to Cultivar Database </a>&nbsp;&nbsp;>&nbsp;&nbsp;Edit <?php echo $row["cultivar_name"];?>  Page</p>
</div>
 <br>
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" >
<br>
Cultivar Name: <br>
<input  name="cultivar_name"  value="<?php echo $row['cultivar_name']; ?>">
<br>
Breeder: <br>
<input type="text" name="breeder" value="<?php echo $row['breeder']; ?>">
<br>
Lineage 1 :<br>
<input type="text" name="lineage1"  value="<?php echo $row['lineage1']; ?>">
<br>
Garden Photo 1: <img id="output" src="../cultivar/images/<?php echo $row["garden_photo1"];?>" style="height:auto; width:70px;">
<br>
<br>
<input id="garden_photo1" type="file" name="garden_photo1"  >

<br>
Garden Photo 1: <img id="output" src="../cultivar/images/<?php echo $row["garden_photo2"];?>" style="height:auto; width:70px;">
<br>
<br>
<input id="garden_photo1" type="file" name="garden_photo2" >

<br>
<br>
<input id="submit" type="submit" name="submit" value="Submit" >
<br>
<br>
<div class="success">
<?php if(isset($message)) { echo $message; } ?>
</div>

</form>

</body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-01 08:10:24

现在,你似乎只是在区分这两种情况,根本没有上传任何图像,或者上传了两张图片。您需要处理的情况是,其中一个图片是上传的,而另一个没有,以及。

但是,与其为所有四种可能的组合编写不同的分支(没有上载图像;图像1被上传但图像2没有上载;图像1没有上载但图像2已经上载;或者两者都被上载),如果您单独处理每个图像上传,则会更有意义:

图片1上传了吗?然后处理上传,并更新数据库中的图像1的列。

图片2上传了吗?然后处理上传,并更新数据库中的图像2的列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73189155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档