[Ajuda] MYSQL Bug
#1

Код:
* [MySQL]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `carID` = '2314'' at line 1
O erro й o seguinte, na minha database de veнculos ele simplesmente buga no momento que o jogador compra e ao invйs de formatar tudo corretamente na database ele seta o id acima de 2300, setando 2311, 2312, etc. No final ele deixa todos as outros informaзхes em 0, como se nгo existisse o carro. Ajudem por favor!
Reply
#2

Vocк nгo forneceu informaзгo suficiente. O ideal й que vocк poste a parte do cуdigo em que essa query й enviada.
Reply
#3

Код:
Car_Save(carid)
{
	static
	    query[2048];

	if (CarData[carid][carVehicle] != INVALID_VEHICLE_ID)
	{
	    for (new i = 0; i < 14; i ++) {
			CarData[carid][carMods][i] = GetVehicleComponentInSlot(CarData[carid][carVehicle], i);
	    }
	}
	format(query, sizeof(query), "UPDATE `cars` SET `carModel` = '%d', `carOwner` = '%d',`carMultas` = '%d', carDono = '%s', `carPosX` = '%.4f', `carPosY` = '%.4f', `carPosZ` = '%.4f', `carPosR` = '%.4f', `carColor1` = '%d', `carColor2` = '%d', `carPaintjob` = '%d', `carLocked` = '%d', `carPrice` = '%d', `carPlate` = '%d', `carAlarm` = '%d', `carTime` = '%d'",
        CarData[carid][carModel],
        CarData[carid][carOwner],
        CarData[carid][carMultas],
        SQL_ReturnEscaped(CarData[carid][carDono]),
        CarData[carid][carPos][0],
        CarData[carid][carPos][1],
        CarData[carid][carPos][2],
        CarData[carid][carPos][3],
        CarData[carid][carColor1],
        CarData[carid][carColor2],
        CarData[carid][carPaintjob],
        CarData[carid][carLocked],
        CarData[carid][carPrice],
        CarData[carid][carPlate],
        CarData[carid][carAlarm],
        CarData[carid][carTime]
        
	);
	format(query, sizeof(query), "%s, `carMod1` = '%d', `carMod2` = '%d', `carMod3` = '%d', `carMod4` = '%d', `carMod5` = '%d', `carMod6` = '%d', `carMod7` = '%d', `carMod8` = '%d', `carMod9` = '%d', `carMod10` = '%d', `carMod11` = '%d', `carMod12` = '%d', `carMod13` = '%d', `carMod14` = '%d', `carMod15` = '%d', `carMod16` = '%d'",
		query,
		CarData[carid][carMods][0],
		CarData[carid][carMods][1],
		CarData[carid][carMods][2],
		CarData[carid][carMods][3],
		CarData[carid][carMods][4],
		CarData[carid][carMods][5],
		CarData[carid][carMods][6],
		CarData[carid][carMods][7],
		CarData[carid][carMods][8],
		CarData[carid][carMods][9],
		CarData[carid][carMods][10],
		CarData[carid][carMods][11],
		CarData[carid][carMods][12],
		CarData[carid][carMods][13],
		CarData[carid][carMods][14],
		CarData[carid][carMods][15]
	);
	format(query, sizeof(query), "%s, `carImpounded` = '%d', `carImpoundPrice` = '%d', `carFaction` = '%d', `carSiren` = '%d',`carWeapon1` = '%d', `carWeapon2` = '%d', `carWeapon3` = '%d', `carWeapon4` = '%d', `carWeapon5` = '%d', `carAmmo1` = '%d', `carAmmo2` = '%d', `carAmmo3` = '%d', `carAmmo4` = '%d', `carAmmo5` = '%d', `CarArmaPL` = '%d', `CarMuniPL` = '%d',  `CarArmaAssento` = '%d', `CarMuniAssento` = '%d', `CarArmaGunrack` = '%d', `CarMuniGunrack` = '%d' WHERE `carID` = '%d' ",
		query,
		CarData[carid][carImpounded],
		CarData[carid][carImpoundPrice],
		CarData[carid][carFaction],
		CarData[carid][carSiren],
		CarData[carid][carWeapons][0],
		CarData[carid][carWeapons][1],
		CarData[carid][carWeapons][2],
		CarData[carid][carWeapons][3],
		CarData[carid][carWeapons][4],
		CarData[carid][carAmmo][0],
		CarData[carid][carAmmo][1],
		CarData[carid][carAmmo][2],
		CarData[carid][carAmmo][3],
		CarData[carid][carAmmo][4],
		CarData[carid][carArmaPL],
		CarData[carid][carMuniPL],
		CarData[carid][carArmaAssento],
		CarData[carid][carMuniAssento],
		CarData[carid][carArmaGunrack],
		CarData[carid][carMuniGunrack],
		CarData[carid][carID]
	);
	return mysql_tquery(g_iHandle, query);
O problema й que alйm de nгo salvar, ele formata todos os dados para 0. Exemplo: carPlate = 0, carOwner = 0 e isso nгo й nada bom. UP.
Reply
#4

Ele formata os dados do mysql pra 0?
Vocк deve ter esquecido de colocar alguma variavel.

Jб experimentou usar ORM?
Reply
#5

Nгo sei o que й, pode me explicar?
Reply
#6

No seu cуdigo, a princнpio, o correto seria utilizar strcat ou dividir a inserзгo no banco de dados de maneira que nгo sobrecarregue a aзгo, assim vai facilitar a encontrar o problema. Ativar o log pra debug seria bom tambйm.
Reply
#7

Quote:
Originally Posted by Abravanel
Посмотреть сообщение
No seu cуdigo, a princнpio, o correto seria utilizar strcat ou dividir a inserзгo no banco de dados de maneira que nгo sobrecarregue a aзгo, assim vai facilitar a encontrar o problema. Ativar o log pra debug seria bom tambйm.
Sou um pouco ignorante quando o assunto й MySQL, poderia simplificar ou exemplificar? Quero encontrar a soluзгo deste problema mas estб bastante dificil, nгo realiza a devida funзгo.
Reply
#8

@UP. Ajudem por favor?
Reply
#9

Usa Strcat
Reply
#10

Consegui resolver o bug, era no prуprio Pwn. Obrigado a todos que ajudaram.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)