2009-07-30 9 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

"私はハードコアの価値を試しました" - 最高のタイプミス。 –

答えて

4

mysql_affected_rows()が返すものを確認してみてください。 1でなければ、あなたの$ demoIDはおそらく間違っています。 1の場合は、おそらくDBの間違った場所を探しているでしょう。

可能であれば、準備文(mysqli、PDO)をサポートするDBインタフェースに切り替えることを検討してください。

編集

ここにあなたのコードでは、これはあなたが(そこよりよい解決策があるが、それは最も簡単だと、おそらく十分でしょうPDO接続を保持するグローバル変数$デシベルを持っていることを前提とし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();  
} 

を使用します)。

+0

あなたは自分のコードを修正してmysql_affected_rowsとPDOに収まることができますか? – Kevin