php - 在 PHP 中更新多个图像
问题描述
我面临一些关于在 PHP 中更新多个图像的问题。实际上,我有 8 个用于添加和更新图像的 8 个按钮以及 MySQL 数据库中的 8 个单独的列,所以当我单独更新图像时,它要么更新所有 8 个列的值,即使我只选择 image1 和 image2,它也会更新所有列和 image3 到 image7 将在数据库中包含空值
如果我使用
&&
“AND”运算符
或者它不更新列图像的任何值(图像、图像 1、图像 2、.... 图像 7)
如果我使用
||
“或”运算符
但我真正想要的是,如果我想更新 image1 - image8 中的任何图像,只有该图像应该得到更新,并且数据库中的其余值应该与以前的值相同,图像列中的值是名称的图像。
if(empty($image) && empty($image1) && empty($image2) && empty($image3) && empty($image4) && empty($image5) && empty($image6) && empty($image7) ){
$UpdateSql = "UPDATE car SET mobile='$mobile' WHERE id=$id";
$result = mysqli_query($conn, $UpdateSql);
}else{
$UpdateSql = "UPDATE car_list SET mobile='$mobile', image='$image', image1='$image1',image2= '$image2', image3='$image3',image4='$image4',image5='$image5', image6='$image6',image7='$image7' WHERE id=$id";
$result = mysqli_query($conn, $UpdateSql);
}
解决方案
您需要根据图像变量的值来构建 SQL 查询。例如:
$mobile = "someMobileNo";
$id = 1234;
$image = "";
$image1 = "";
$image2 = "some.png";
$image3 = "";
$image4 = "";
$image5 = "someOther.png";
$image6 = "yetAnother.png";
$image7 = "";
$imageVars = array($image, $image1, $image2, $image3, $image4, $image5, $image6, $image7,);
$updateImages = "";
for($i = 0; $i < 8; $i ++){
if(!empty($imageVars[$i])){
//the image variable has a value, add it to the UPDATE query
$imageNum = (string)$i; //cast index as string
if($imageNum == "0"){
//first image does not have a number
$imageNum = "";
}
$updateImages .= ",image" . $imageNum . "='" . $imageVars[$i] . "'";
}
}
$UpdateSql = "UPDATE car_list SET mobile='$mobile'" . $updateImages . " WHERE id=$id";
echo $UpdateSql;
//OUTPUT:
// UPDATE car_list SET mobile='someMobileNo',image2='some.png',image5='someOther.png',image6='yetAnother.png' WHERE id=1234
推荐阅读
- java - Java 在每次 getStatement().executeQuery() 调用时将查询写入 txt
- python - 附加值以创建二维数组
- python - 熊猫数据框行比例
- abap - 标准内部表上没有 BY 的 SORT 行为?安全吗?
- symfony - 使用 Symfony 3.4 和 Doctrine 在 MySql DB 上获取没有双倍属性值的不同行
- html - 在快捷方式中使用正则表达式从网站获取特定文本
- java - java.lang.NoClassDefFoundError: com.github.fge.jackson.JsonLoader
- php - Laravel问题试图获取非对象的属性“id”
- c - 被监控的命令转储了核心?
- python-3.x - 什么是构建字典的快速方法?