热搜:NVER node 开发 php

mysql update问题

2024-09-06 12:30:02
mysql update问题

前台代码



输入图片(大小333px*156px)



输入小分类

输入描述





后台
 $iii= 'images/'.$_FILES["file"]["name"];

$sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',btdetail = '$_POST[detail3]',tupiandetail = '$iii',miaoshudetail = '$_POST[detail5]' WHERE id='$_POST[hidid]'";

我现在想 不浏览图片 update不会覆盖原来tupiandetail的内容




回复讨论(解决方案)

表单上传后,$_FILES["file"]["name"]是上传前的文件名,而实际上这个文件被放入了临时目录,你需要copy或者move到指定位置,甚至根据需要重命名。

$sql="UPDATE detail SET dafenleidetail = '".$_POST[detail1]."',xiaofenleidetail = '".$_POST[detail2]."',btdetail = '".$_POST[detail3]."',tupiandetail = '$iii',miaoshudetail = '".$_POST[detail5]."' WHERE id='".$_POST[hidid]."'";
有下标的数据数据引用,最好用.来连接。

我晕 。。。我现在浏览图片可以更新 我想不浏览图片 不要覆盖啊tupiandetail  这个字段的内容

if($_FILES["file"]["error"] == 0) {
  //只对成功桑穿的图片进行处理
  $iii= 'images/'.$_FILES["file"]["name"];

  $sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',btdetail = '$_POST[detail3]',tupiandetail = '$iii',miaoshudetail = '$_POST[detail5]' WHERE id='$_POST[hidid]'";
....
}

$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$str = ",tupiandetail = '$iii'";
}

$sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',btdetail = '$_POST[detail3]'".$str.",miaoshudetail = '$_POST[detail5]' WHERE id='$_POST[hidid]'";

$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$str = ",tupiandetail = '$iii'";
}

$sql="UPDATE detail SET dafenleidetail = '$_POST[detai……


难道你不知道 空字符串 也会覆盖啊

if($_FILES["file"]["error"] == 0) {
  //只对成功桑穿的图片进行处理
  $iii= 'images/'.$_FILES["file"]["name"];

  $sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',……

那不成功呢?

引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$str = ",tupiandetail = '$iii'";
}

$sql="UPDATE detail SE……
覆盖什么?你把SQL语句打印出来不就知道我写的对不对了。


引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$str = ",tupiandetail = '$iii'";
}

$sql="UPD……

如果没浏览图片 $str = "";

那个$str update字段内容  内容会变成空 原来的内容没有了

引用 7 楼 jzh2004 的回复:引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$str = ",tupiandetail = '$iii……

你打印出来不就知道了,字段没改变怎么会变空,实践出真理啊

引用 8 楼 gg86965921gg 的回复:
引用 7 楼 jzh2004 的回复:引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images/'.$_FILES["file"]["name"];
$st……


你的逻辑不是 当没有浏览图片 $str=""; 么  你update 不是覆盖了。。

那不成功呢?
不正式你需要的吗?
上传不成功就不修改?

引用 9 楼 jzh2004 的回复:引用 8 楼 gg86965921gg 的回复:
引用 7 楼 jzh2004 的回复:引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

$iii= 'images……

如果不明白我的逻辑,就听我的打印出SQL语句看看结果,然后在想想哪里搞错了。



引用 10 楼 gg86965921gg 的回复:
引用 9 楼 jzh2004 的回复:引用 8 楼 gg86965921gg 的回复:
引用 7 楼 jzh2004 的回复:引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0)
{
//文件保存文件等操作

……

$str = "";
$sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',btdetail = '$_POST[detail3]'".$str.",miaoshudetail = '$_POST[detail5]' WHERE id='$_POST[hidid]'";
我运行了啊  就是把原来的字段内容覆盖了啊 

引用 12 楼 jzh2004 的回复:引用 10 楼 gg86965921gg 的回复:
引用 9 楼 jzh2004 的回复:引用 8 楼 gg86965921gg 的回复:
引用 7 楼 jzh2004 的回复:引用 5 楼 gg86965921gg 的回复:
引用 4 楼 jzh2004 的回复:$str = "";
if($_FILES["file"]['error'] == 0……
你这个SQL语句里根本没有tupiandetail这个字段,怎么会把原来内容覆盖

有啊 我不用这个方法了。。。

$str = "";
$sql="UPDATE detail SET dafenleidetail = '$_POST[detail1]',xiaofenleidetail = '$_POST[detail2]',btdetail = '$_POST[detail3]'".$str.",miaoshudetail = '$_POST[detail5]' WHERE id='$_POST[hidid]'";
我运行了啊  就是把原来的字段内容覆盖了啊 
有啊 我不用这个方法了。。。
--------------------
你不是说你运行了吗,上面的SQL语句里哪里有tupiandetail字段?你还能说有?

那你的代码 图片上传成功不会覆盖了。。

那你的代码 图片上传成功不会覆盖了。。
所以说你根本没有运行过啊,图片上传成功,就执行if里面的语句,$str变量里就有值了,也就会改变了