• 24-02-2010, 22:00:25
    #1
    Üyeliği durduruldu
    Merhaba,

    php sayfasında herhangi bir yerde

    	$tablo_sil = mysql_query('
    	TRUNCATE `ps_category_product`;
    	TRUNCATE `ps_image`;
    	TRUNCATE `ps_product`;
    	TRUNCATE `ps_product_lang`;
    	');
    bulunması işleme geçmesi için yeterli değilmi?
  • 24-02-2010, 22:23:19
    #2
    Üyeliği durduruldu
    yeterli ama noktali virgüllerde şüpheliyim şahsen

    mysql_query('TRUNCATE `ps_category_product`');
    mysql_query('TRUNCATE `ps_image`');

    gibi alt alta denemenizi tavsiye ederim.

    birde hata olup olmadigini görmek için bir alt satira

    echo mysql_error

    diyebilirsiniz
  • 24-02-2010, 22:43:26
    #3
    Üyeliği durduruldu
    $tablo_sil = mysql_query('
    TRUNCATE `ps_category_product`;
    TRUNCATE `ps_image`;
    TRUNCATE `ps_product`;
    TRUNCATE `ps_product_lang`');
    if($tablo_sil){
    echo "Veri Tabanındaki etkilenen tablolar silindi";
    }else{
    die('veritabanında değişiklik yok');
    }

    echo mysql_error;

    diyorum ne mysql hatası veriyor nede baska bisi sadece, değişiklik yok diye mesajı alıyorum

    cevaplarınız için teşekkürler
  • 24-02-2010, 22:46:12
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    veritabanından tablo silmeyi hiç denemedim daha kısmet olmadı. ama ; yerine tablo adlarını , (virgül) ile ayırmayı deneyebilrsiniz. buda olmazsa sdemirkeser hocamın dediğini kullanın.
  • 24-02-2010, 23:01:55
    #5
    Üyeliği durduruldu
    dediği gibi yaptım

    mysql_error(); olmalıymış bu arada ve kod hatası şöle

    veritabaninda degisiklik yokYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '	TRUNCATE `ps_image`, TRUNCATE `ps_product`, TRUNCATE `ps_product_lang`' at line 1
  • 24-02-2010, 23:24:11
    #6
    Üyeliği durduruldu
    Çözüm:

    	//Veritabaninda ilgili tablolari bosalt
    	$a = mysql_query('TRUNCATE `ps_product`');
    	$b = mysql_query('TRUNCATE `ps_category_product`');
    	$c = mysql_query('TRUNCATE `ps_product`');
    	$d = mysql_query('TRUNCATE `ps_image`');
    
    	if($a=$b=$c=$d){
    	echo "Veri Tabanındaki etkilenen tablolar silindi";	
    	}else{
    	echo "veritabanında değişiklik yok";
    	}
  • 25-02-2010, 00:28:03
    #7
    Üyeliği durduruldu
    kcyg17 adlı üyeden alıntı: mesajı görüntüle
    echo "Veri Tabanındaki etkilenen tablolar silindi"
    aynen sonunda dogru hale gelmis kod birde hocam ifade eksikligi yada truncate nedir merak edenler için,truncate bosaltmak olmus oluyor. tablolar korunur ama icerigi bosalir. bu bosalma isleminde otomatik artan alanda sıfırlanır. yani direk delete from tablo yaptiginizda tablo bosalir ama otomatik artan alanlar sifirlanmaz.aradaki fark budur
  • 25-02-2010, 09:07:12
    #8
    Üyeliği durduruldu
    mysql_query(' TRUNCATE `ps_category_product`,`ps_image,`ps_product`,`ps_product_lang` ');
    1den fazla tablo bosaltmak için boyle kullanabilirsiniz
  • 25-02-2010, 09:38:37
    #9
    mysql_query fonksiyonu coklu sorgulari desteklemez.
    O yuzden ya tek sorguda butun tablolari virgulle ayirip gecirmelisiniz, yada alt alta birden fazla mysql_query calistirmalisiniz.

    Ancak MySQLi isimli bir class mevcuttur, bunda coklu mysql sorgulari gonderen bir fonksiyon bulunmakta. manual'den arastirabilirsiniz.