GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: xMusabBey - 14 Ocak 2022, 23:24:06

Başlık: SQL kayıt etmiyor
Gönderen: xMusabBey - 14 Ocak 2022, 23:24:06
Vds üzerinden navicat ile xampp beeraber çalıştrıp oyunu açıyorum fakat oyun içerisinde bir değişiklik yapınca sql'e kayıt etmiyor oyun penceresini kapatıp açınca sıfırlanıyor sorunu bilen varmı?
Başlık: Ynt: SQL kayıt etmiyor
Gönderen: korashi - 17 Ocak 2022, 03:50:13
SQL bağlantısının düzgünce sağlandığından ve verilerin çekilip Karakter/Oyuncu enumlarına sorunsuz aktarıldığına emin ol. Daha sonra publiclerin dışına çıkarak bir fonksiyon oluştur. Şimdi ise hangi veriyi güncelleyeceğimiz seçelim örneğin para olsun. Fonksiyonun içine sorgumuzu kodlayacağız:
asd yazan yere MySQL bağlantısının tanımlandığı değişkeni yazman gerekiyor. Oyuncu[playerid][para] yazan yere ise SQL'den çekilen verilerin tanımlandığı enumu yazmalısın. `oyuncular` yazan yere verilerin tutulduğu tablonun adını girmelisin. `para` yazan kısıma ise güncellemek istediğin sütunun adını giriyorsun.

stock OyuncuKaydet(playerid)
{
    new query[128];
    format(query, sizeof(query), "UPDATE `oyuncular` SET `para` = '%d'", Oyuncu[playerid][para]);
    mysql_tquery(asd, query);
}

Fonksiyonumuzda güncellemek istediğimiz verileri güncelledikten sonra fonksiyonu kapatıyoruz ve adını OyuncuKaydet koyduğumuz fonksiyonu OnPlayerDisconnect publicine giderek OyuncuKaydet(playerid); olarak ekliyoruz.
Başlık: Ynt: SQL kayıt etmiyor
Gönderen: squarepants - 18 Ocak 2022, 22:16:31
@korashi merhaba hocam, yukarıda verdiğiniz örnekte sanırım sorgu oyuncular tablosundaki para sütununu içeren tüm satırlar için çalışacaktır. Bu durumda oyuncunun para miktarı ne olursa olsun tüm para sütunları güncellenecek. Aşağıdaki durum ile oyuncu ismine yönelik sorgular daha stabil olabilir :

stock OyuncuKaydet(playerid)
{
    new query[128];
    format(query, sizeof(query), "UPDATE `oyuncular` SET `para` = '%d' WHERE `Isim` = '%s'", Oyuncu[playerid][para], Oyuncu[playerid][isim]);
    mysql_tquery(asd, query);
}
NOT : Oyuncu[playerid][para], Oyuncu[playerid][isim] değişkenleri temsili olarak verilmiştir.
Başlık: Ynt: SQL kayıt etmiyor
Gönderen: Coiner - 21 Ocak 2022, 11:23:17
Alıntı yapılan: Bölüm Kuralları
Açılan taleplerin son iletisi 10 günü geçmesi durumunda; konu kilitlenip, kilitli konular bölümüne taşınacaktır. Sorunu çözülen konularınızı kilitleyip, moderatörlere bildiriniz.
K/A