Yani onlar aidatlarını ödemek kez yeni bir üyenin son kullanma tarihini ayarlar MySQL basit bir sorgu var:
UPDATE members SET joined=CURDATE(), expires=DATE_ADD(CURDATE(), INTERVAL 1 YEAR), active='1' WHERE id=1000
alan dolduğunda o tarihten itibaren geçerli tarih katıldı alanına konur ve bir yıl - bu sorgu 200 + genelde doğru sonucu kez tükendi. Ancak, yaklaşık 10 durumlarda, tarih belirgin açıklama ile 00-00-0000 için kurulmuştur sona eriyor. Ben bir metin dosyasına emin sözdizimi doğru idi yapmak için her zaman sorgu yazmaya başladı ve ben bir şey cevapsız değil - ve ben yaptım - her sorgu için (değişen sadece kimliği ile) tam olarak bu sorgu, çalışmak olanlar ve olmayanları.
Burada düşünebilirsiniz tek şey MySQL'in date_add fonksiyonu ile bir sorun olmasıdır. Başkasının böyle bir şey yaşadı?
UPDATE: I should add that the joined field is correct with the current date in the cases where the expires date is incorrect.
- Ben MySQL 5.0.81 kullanıyorum.
- Hiçbir tetikleyiciler vardır.
- Tablo MyISAM kullanıyor.
IMPORTANT UPDATE: I'm an idiot - when I say 11-30-1999 that's not actually what's in the database. I absent-mindedly wrote that, but in fact the database contains the value 00-00-0000 - 11-30-1999 is just how it gets rendered by PHP onto my page. Sorry about that, hopefully that will make this problem less difficult to figure out.