Heim  >  Artikel  >  Backend-Entwicklung  >  mysql update问题

mysql update问题

WBOY
WBOYOriginal
2016-06-23 14:03:27857Durchsuche

前台代码



输入图片(大小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变量里就有值了,也就会改变了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn