2009-07-30 107 views
0
function updateDemo($demoTitle, $desc, $keyword, 
     $uploadedFile, $clientname, $uploadedImage, $adminName, $demoID)  
{ 
    $query = "UPDATE demos SET dmTitle ='sdsdsdsdsd' , dmDesc = '$desc' , 
     dmKey = '$keyword' , dmLink= '$uploadedFile' , client='$clientname' , 
     imageTitle = '$uploadedImage' , userName = '$adminName' 
     WHERE id = '$demoID'"; 

    $result = mysql_query($query); 
    if($result) { 
     return 'yes'; 
    } else { 
     return mysql_error(); 
     } 
} 

這是上一個問題的更新。我已經執行了查詢,並將返回值設置爲「是」,但對於我來說這些值沒有更新似乎很奇怪。更新查詢奇怪問題

雖然我在這裏PHP檢查下來,我得到了更新值...

我試圖硬編碼爲標題的值,它似乎也不會得到更新。

+3

「我試圖強調價值」 - 最好的錯字。 – 2009-07-30 23:26:57

回答

4

嘗試檢查mysql_affected_rows()返回的內容。如果它不是1,那麼你的$ demoID可能是錯誤的。如果它是1,那麼您可能在數據庫中查找錯誤的地方。

爲安全起見,請考慮切換到支持準備語句(mysqli,PDO)的DB接口(如果可能)。

編輯

這是一個使用PDO

function updateDemo($demoTitle, $desc, $keyword, 
     $uploadedFile, $clientname, $uploadedImage, $adminName, $demoID)  
{ 

    $query = "UPDATE demos SET dmTitle = ? , dmDesc = ? , 
     dmKey = ? , dmLink= ?, client=? , 
     imageTitle = ? , userName = ? 
     WHERE id = ?"; 

    global $db; 
    $stmt = $db->prepare($query); 
    $stmt->execute(Array(
     $demoTitle, $desc, 
     $keyword, $uploadedFile, $clientname, 
     $uploadedImage, $adminName, 
     $demoId 
    )); 

    return $stmt->rowCount();  
} 

代碼這是假設你有一個全局變量$分貝拿着PDO連接(有更好的解決方案,但它是最簡單的,將可能就夠了)。

+0

你可以修改我的代碼,並適合mysql_affected_rows和PDO,我將學習新的東西 – Kevin 2009-07-30 23:38:07