Çözüldü DirectQuery: AsyncSQL::DirectQuery : mysql_query error:

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

melihalbayrak

Geliştirici
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
1.246
Çözümler
81
Beğeni
674
Puan
1.109
Ticaret Puanı
0
SYSER:
SYSERR: Mar 19 13:38:57 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'window = 'PRIVATE_SHOP' and owner_id=12' at line 1
query: SELECT id FROM item WHERE window = 'PRIVATE_SHOP' and owner_id=12


ClientManager.cpp:
Linkleri görebilmek için giriş yap veya kayıt ol.

Syserin geçtiği satır ise 500. satırda başlıyor.

C++:
            pi->pSafebox = pSafebox;

            char szQuery[1024];
            snprintf(szQuery, sizeof(szQuery), "SELECT id, window+0, pos, count, vnum, socket0, socket1, socket2, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6"
#ifdef ENABLE_PREMIUM_PRIVATE_SHOP
                    ", price, shop_id "
#endif
            "FROM item%s WHERE `owner_id`=%d AND `window`='PRIVATE_SHOP'", GetTablePostfix(), pi->player_id);
           
            pi->account_index = 1;

            CDBManager::instance().ReturnQuery(szQuery, QID_SAFEBOX_LOAD, pkPeer->GetHandle(), pi);
 
Çözüm
Anydesk ile bağlandıktan sonra kodları inceledim. Birden fazla dosyada hata meydana geliyor.

Kod:
SYSERR: Mar 19 17:08:59 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'window = 'PRIVATE_SHOP' and owner_id=12' at line 1
query: SELECT id FROM item WHERE window = 'PRIVATE_SHOP' and owner_id=12
Bu hatanın kaynağı game/src/char.cpp altındaki şu koddan kaynaklı
C++:
    std::auto_ptr<SQLMsg> pmsg(DBManager::instance().DirectQuery("SELECT id FROM item%s WHERE window = 'PRIVATE_SHOP' and owner_id=%d",
                get_table_postfix(), GetPlayerID()));

Şu şekilde değiştirdik
C++:
...
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst