我有一个客户编辑表单,可以将图像成功上传到我的网站。当我使用FILE字段上传文件时,它会将其保存到我的mysql数据库中。
问题是,如果我再次保存客户端记录,如果FILE字段中没有任何内容,它将用空白条目覆盖现有记录。如果没有新内容上传,我希望它不会覆盖已保存的内容。
下面的代码应该更好地解释。我猜测,如果没有选择上传新文件,UPDATE不应继续 coupon_img ='$ file'?
<?php
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="coupons/";
$id = $_POST['id'];
$category = $_POST['category'];
$package = $_POST['package'];
$client_name = $_POST['client_name'];
$client_img = $_POST['client_img'];
$deal = $_POST['deal'];
$phone = $_POST['phone'];
$yelp = $_POST['yelp'];
$address = $_POST['address'];
$latlong = $_POST['latlong'];
move_uploaded_file($file_loc,$folder.$file);
$sql="UPDATE $tbl_name SET id='$id', category='$category', coupon_img='$file', package='$package', client_name='$client_name', client_img='$client_img', deal='$deal', phone='$phone', yelp='$yelp', address='$address', latlong='$latlong' WHERE id='$id'";
$result_edit=mysqli_query($GLOBALS["___mysqli_ston"], $sql);
// if successfully updated.
if($result_edit){
header("Location: edit/edit.php");
}
else {
echo "ERROR";
}
?>
答案 0 :(得分:0)
我想出了如何做到这一点......
if($_FILES['file']['name'] == "") {
$sql="UPDATE $tbl_name SET id='$id', category='$category', package='$package', client_name='$client_name', client_img='$client_img', deal='$deal', phone='$phone', yelp='$yelp', address='$address', latlong='$latlong' WHERE id='$id'";
} else {
$sql="UPDATE $tbl_name SET id='$id', category='$category', coupon_img='$file', package='$package', client_name='$client_name', client_img='$client_img', deal='$deal', phone='$phone', yelp='$yelp', address='$address', latlong='$latlong' WHERE id='$id'";
}