mysql update問題

來源:互聯網
上載者:User
前台代碼



後台
$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……


難道你不知道 Null 字元串 也會覆蓋啊

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變數裡就有值了,也就會改變了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.