Oskar
Forum friend
- Joined
- Jan 24, 2009
- Messages
- 2,256
- Reaction score
- 331
Mamy:
[cpp] Database* db = Database::getInstance();
DBQuery query;
DBInsert query_insert(db);
char buffer[280];
query.str("");
query << "DELETE FROM `player_invicible_npc` WHERE `player_id` = " << player->getGUID();
if(!db->executeQuery(query.str()))
return false;
query_insert.setQuery("INSERT INTO `player_invicible_npc` (`player_id`, `npc_id`, `value`) VALUES ");
for(int32_t i = 0; i <= 10; ++i)
{
std::string npcName = player->invisibleNPCListName != "" ? player->invisibleNPCListName : "false";
uint32_t value = player->invisibleNPCListActive ? player->invisibleNPCListActive : 0;
std::cout << npcName << " - " << value << std::endl;
sprintf(buffer, "%u, %s, %u", player->getGUID(), npcName.c_str(), value);
if(!query_insert.addRow(buffer))
return false;
}
if(!query_insert.execute())
return false;[/cpp]
Dop?ki pr?buj? zapisywa? w formacie string (c.str()) to pokazuje si? w konsoli b??d:
Dlaczego?
[cpp] Database* db = Database::getInstance();
DBQuery query;
DBInsert query_insert(db);
char buffer[280];
query.str("");
query << "DELETE FROM `player_invicible_npc` WHERE `player_id` = " << player->getGUID();
if(!db->executeQuery(query.str()))
return false;
query_insert.setQuery("INSERT INTO `player_invicible_npc` (`player_id`, `npc_id`, `value`) VALUES ");
for(int32_t i = 0; i <= 10; ++i)
{
std::string npcName = player->invisibleNPCListName != "" ? player->invisibleNPCListName : "false";
uint32_t value = player->invisibleNPCListActive ? player->invisibleNPCListActive : 0;
std::cout << npcName << " - " << value << std::endl;
sprintf(buffer, "%u, %s, %u", player->getGUID(), npcName.c_str(), value);
if(!query_insert.addRow(buffer))
return false;
}
if(!query_insert.execute())
return false;[/cpp]
Dop?ki pr?buj? zapisywa? w formacie string (c.str()) to pokazuje si? w konsoli b??d:
Ale gdy zmieni? kodowanie string na int, wtedy wszystko gra poprawnie, nawet je?li w bazie danych pod t? kolumn? mo?na zapisywa? tylko format tekstowy.mysql_real_query(): INSERT INTO `player_invicible_npc` (`player_id`, `npc_id`, `value`) VALUES (2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0) - MYSQL 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 ' 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, , 0),(2, ' at line 1 (1064)
Dlaczego?