• 08-01-2016, 16:05:39
    #1
    bi kaç farklı api'den fiyat çekiyorum. Bunları veritabanına kaydediyorum.
    Bazen api sayfaları açılmıyor ulaşılamıyor filan.. öyle durumlarda boş kaydetmemesi için eski fiyatın kalmasını istiyorum yani mysql update işlemi o ulaşılamayan fiyat için yapılmasın.

    kodlarım:

    $cekbaba = mysql_query(
    			"UPDATE fiyatlar SET
    			ask = CASE
    			WHEN id = 1 THEN $dolaralis
    			WHEN id = 3 THEN $euroalis
    			WHEN id = 4 THEN $sterlinalis
    			WHEN id = 5 THEN $yenalis
    			END,
    			bid = CASE
    			WHEN id = 1 THEN $dolarsatis
    			WHEN id = 3 THEN $eurosatis
    			WHEN id = 4 THEN $sterlinsat
    			WHEN id = 5 THEN $yensat
    			END,
    			last = CASE
    			WHEN id = 1 THEN $dolarson
    			END,
    			tek = CASE
    			WHEN id = 2 THEN $cdfiyat
    			WHEN id = 6 THEN $bizimfiyat
    			END
    			WHERE id IN (1,2,3,4,5,6)"
    		);
    fiyat başarıyla güncellenirse ekrana hangi fiyatların güncellenip güncellenmediğini de yazsın istiyorum.

    Nasıl eklemeler yapmalıyım koduma?
  • 08-01-2016, 19:10:44
    #2
    merhaba,
    eğer apiden bir yanıt gelmezse $dolaralis şunlar boş olacaktır. haliyle update sorgunuzda bunların gelip gelmediğini kontrol ederek ona göre update edebilirsiniz.

    bilgiğim kadarıyla mysql'de etkilenen stunları direk olarak çekemiyoruz.postresqlde var ama.

    bi stored procedure oluşturup saydırabilirsiniz. örnekleri nette çokca vardır.
    mysql get updated value instead of mysql_affected_rows

    kolaylıklar.