GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Mysql Kayıt Etmiyor

Başlatan HasanEfe, 31 Mayıs 2020, 14:36:51

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

HasanEfe

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `id` = %d LIMIT 1", level, oyuncuData[ID][xID]);
mysql_tquery(mysqlC, str);

bu kodu /yetkiver e yazıyorum fakat kayıt etmiyor nedenini bilmiyorum yardımcı olursanız sevinirim

Mysql log:
https://pastebin.com/UQ0Swned

veri çekiyor ancak kayıt etmiyor ben mysql a admin levelini 5 yazınca oyuna girince 5 level oluyorum fakat /yetkiver den yapınca kayıt olmuyor kullandığım mysql sürümü r41-4

mysql da veritabanını sildim yeniden oluşturdum sonuç aynı kodlarla ilgili sorun var büyük ihtimalle
Son düzenlenme: 31 Mayıs 2020, 14:46:16 HasanEfe

flareoNNN

Veritabanında 'id' adında bir sütun yok.


jyonsae

mysql_format kullanırken `` veya '' kullanmaman gerekiyor. o fonksiyon zaten algılayabiliyor. ayrıca komutu her kullandığında update sorgusu gönderiyorsan yapmamalısın çünkü çok sağlıklı olmaz. sadece oyuncu oyundan çıkarken kayıt et. oyuncuya admin değeri verdiğinde bunu bir enum içinde saklamayı dene. pAdminLevel gibisinden


Cherry

Alıntı yapılan: Fyunkan - 31 Mayıs 2020, 14:58:10
mysql_format kullanırken `` veya '' kullanmaman gerekiyor. o fonksiyon zaten algılayabiliyor. ayrıca komutu her kullandığında update sorgusu gönderiyorsan yapmamalısın çünkü çok sağlıklı olmaz. sadece oyuncu oyundan çıkarken kayıt et. oyuncuya admin değeri verdiğinde bunu bir enum içinde saklamayı dene. pAdminLevel gibisinden
yanlışın var oyuncu tam oyundan çıkarken sunucu çökse veriyi kayıt etmez, ve ongamemodeexit publicinde onplayerdisconnect çalıştığı için sunucuyu yorar.


jyonsae

Alıntı yapılan: Cherry - 31 Mayıs 2020, 15:00:10
yanlışın var oyuncu tam oyundan çıkarken sunucu çökse veriyi kayıt etmez, ve ongamemodeexit publicinde onplayerdisconnect çalıştığı için sunucuyu yorar.
https://wiki.sa-mp.com/wiki/SetTimer


HasanEfe

ID yi ayarlayamıyorum yani şunu yazıyorum

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `Isim` = %d LIMIT 1", level, getname(ID));
mysql_tquery(mysqlC, str);

ama kayıt olmuyor

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `id` = %d LIMIT 1", level, ID);
mysql_tquery(mysqlC, str);

yazıyorum başka kişiyde verdiğim halde benim üstime geliyor


flareoNNN

Alıntı yapılan: HasanEfe - 31 Mayıs 2020, 18:48:14
ID yi ayarlayamıyorum yani şunu yazıyorum

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `Isim` = %d LIMIT 1", level, getname(ID));
mysql_tquery(mysqlC, str);

ama kayıt olmuyor

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `id` = %d LIMIT 1", level, ID);
mysql_tquery(mysqlC, str);

yazıyorum başka kişiyde verdiğim halde benim üstime geliyor


mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = %d WHERE `Isim` = %d LIMIT 1", level, getname(ID));
mysql_tquery(mysqlC, str);

Bu kullanımınız hatalı. %d sadece sayısal değerler için kullanılabilir. Isim çekerken %s kullanmalısınız.

mysql_format(mysqlC, str, sizeof str, "UPDATE `oyuncular` SET `Admin` = '%d' WHERE `Isim` = '%s' LIMIT 1", level, getname(ID));
mysql_tquery(mysqlC, str);

Yukarıdaki gibi değiştirmelisiniz.