Satırları silmek için PHP MySQL sorgu çalışmıyor

0 Cevap php

Ben bu php script var:

foreach (get_all_topics () as $topic_id => $topic_info) {
   $result = mysql_query("DELETE FROM marks 
                           WHERE user_id = $user_id 
                            AND topic_id = $topic_id", $db);
    echo "DELETE FROM marks 
           WHERE user_id = $user_id 
             AND topic_id = $topic_id : " . mysql_error() . " : " . mysql_affected_rows();
}

Geçerli bir $user_id set ve echo tarafından basılmış gibi get_all_topics() geçerli başlık bilgi verir var. Ancak her zaman döndürür false ve user_id = 1 AND topic_id = 1 ile bir veri var (ve kopyalamak ve interaktif mysql istemine yapıştırın echo ed dize, o da silinir - yani hiçbir yazım hataları!).

NOTE: Diğer Ekleme veya tablo güncelleştirme gayet güzel çalışıyor fonksiyonları. Ben php öğrenme yaşıyorum - mysql ve bu veritabanından bir şey siliyorum ilk kez. Herkes bu komut ile sorun ne tavsiye misiniz? Ya da bu herhangi bir izinleri bir sorun olabilir?

Regards, Mihir Gokani

EDIT: Ben yukarıdaki kodu değişti ettik

$all_topics = get_all_topics();

foreach ($all_topics as $topic_id => $topic_info) {
   $result = mysql_query("DELETE FROM marks 
                           WHERE user_id = $user_id 
                            AND topic_id = $topic_id", $db);
    echo "DELETE FROM marks 
           WHERE user_id = $user_id 
             AND topic_id = $topic_id : " . mysql_error() . " : " . mysql_affected_rows();
}

ve işe yaradı! Benzer bir sorunu olan herkes bazı geçici değişkene dönüş değeri atamak deneyin ve sonra foreach döngüsü bu kullanabilirsiniz. Çalışır neden bilmiyorum :)

Thanks, Mihir Gokani

0 Cevap