我有代码,我在网站的某一部分上传了 6 张图片,该代码工作正常,现在,我需要更新或更改上传的任何图像,我的意思是我需要更改图像编号 3 和 6,例如,所以我写了这段代码
$i=0;
while ($i<=5){
if (!empty($_FILES['ufile']['name'][$i]) and ($_FILES['ufile']['name'][$i]<>"")){
$path[$i] = "../slider_new/".$_FILES['ufile']['name'][$i];
$path[$i] = str_replace(' ', '_',$path[$i]);
copy($_FILES['ufile']['tmp_name'][$i], $path[$i]);
echo "Ruta :".$path[$i]."<BR/>";
echo "File Name :".$_FILES['ufile']['name'][$i]."<BR/>";
echo "este es $i ",$i;
$sql="UPDATE accommo_main_images SET name='".$_FILES['ufile']['name'][$i]."',ruta='".$path[$i]."' where num='$num'";
$res=mysqli_query($cnx,$sql);
}
$i=$i+1;
}
这个想法是检查名称以及何时与"不同时,所以.....更新图像,这就是想法,但我不知道为什么代码使用我选择的图像更新所有 6 个图像。
什么凸轮问题?
谢谢你的帮助
其中 num='$num'";
使用 SQL 语句,其中 NUM=$num。但是,您没有在此处提供给我们的代码中的任何位置设置$num。很可能您从未设置$num的值。你大概$i。我猜您可能在上传代码(初始上传)中也犯了同样的错误,因此所有图像都有 number=0。您现在正在更新具有数字 0 或空字符串(取决于数据库字段类型)的图像,这些图像将与您在其中的每个图像匹配。
尝试运行此代码并检查表条目。
$res = mysqli_query($cnx,"SELECT num,name FROM accommo_main_images");
var_dump(mysqli_fetch_all($res,MYSQLI_ASSOC));