güncelleştirme sorgusu garip sorun

1 Cevap
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();
       }
}

Bu daha önceki, sorunun bir güncelleme. Ben sorgu yürütüldüğünde ve ben Evet olarak dönüş değeri alıyorum, ama bu değerler güncellenir almıyorsanız bu benim için garip görünüyor.

Ben buradan PHP aşağı kontrol Rağmen, ben güncelleme değerleri alıyorum ...

Ben başlık için bir değer kodlamalısınız çalıştı ve aynı zamanda güncellenmiş almıyor gibi görünüyor.

1 Cevap

() Döner mysql_affected_rows ne kontrol etmeye çalışın. Bu 1 değil ise, o zaman $ demoID olasılıkla yanlıştır. 1 ise, muhtemelen DB yanlış yerde arıyoruz.

Ve de, güvenlik aşkına, hazırlanmış deyimleri (mysqli, PDO) mümkünse destekleyen bir DB arayüzüne geçiş düşünün lütfen.

Edit

İşte PDO kullanarak kod

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();    
}

Bu bir PDO bağlantı (orada daha iyi çözümler vardır ama bu basit ve muhtemelen yeterli olacaktır) tutan bir global değişken $ db var olduğunu varsayar.