PDA

Просмотр полной версии : [Вопрос] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Model")



SteveStage
27.10.2019, 00:54
Вот код:
https://pastebin.com/cUARZnj1

Вообщем, при срабатывании паблика OngameModeInit выводится mysql log:

[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Model")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("X")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Y")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Z")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("A")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("HP")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Color1")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Color2")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg1")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg2")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg3")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg4")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Name")
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Model")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("X")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Y")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Z")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("A")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("HP")
[23:43:08] [ERROR] cache_get_field_content_float - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Color1")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Color2")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg1")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg2")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg3")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Dmg4")
[23:43:08] [ERROR] cache_get_field_content_int - invalid datatype
[23:43:08] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Name")


Знаю, что это из-за того, что таблица с карами пуста, но как сделать проверку на то, есть ли там кары, или нету? И что вообще посоветуете переделать в этой системе, потому что написал ее буквально только что, и совершенно точно что-то сделал не так

- - - Добавлено - - -


enum cInfo {
cVeh, cName[MAX_PLAYER_NAME+1], Float:cX, Float:cY, Float:cZ, Float:cA, cModel, cClass, cColor1, cColor2, cDmg1, cDmg2, cDmg3, cDmg4, Float:cHP
}
new
car[MAX_VEHICLES][cInfo];



public OnGameModeInit()
{
static
fmt_str[] = "SELECT * FROM `accounts`";
new
string[sizeof(fmt_str)];

mysql_format(connect_mysql, string, sizeof(string), fmt_str);
mysql_function_query(connect_mysql, string, true, "@_LoadCars", "");
return true;
}



@_LoadCars();
@_LoadCars()
{
new
rows,
fields;
cache_get_data(rows, fields);
if(!rows) return print("Error - transport disabled!");
for(new i; i != rows; i++)
{
car[i][cModel] = cache_get_field_content_int(i, "Model");
car[i][cX] = cache_get_field_content_float(i, "X");
car[i][cY] = cache_get_field_content_float(i, "Y");
car[i][cZ] = cache_get_field_content_float(i, "Z");
car[i][cZ] = cache_get_field_content_float(i, "A");
car[i][cHP] = cache_get_field_content_float(i, "HP");
car[i][cColor1] = cache_get_field_content_int(i, "Color1");
car[i][cColor2] = cache_get_field_content_int(i, "Color2");
car[i][cDmg1] = cache_get_field_content_int(i, "Dmg1");
car[i][cDmg2] = cache_get_field_content_int(i, "Dmg2");
car[i][cDmg3] = cache_get_field_content_int(i, "Dmg3");
car[i][cDmg4] = cache_get_field_content_int(i, "Dmg4");
cache_get_field_content(i, "Name", car[i][cName], MAX_PLAYER_NAME);
LoadInfoCar(i);
}
return true;
}



stock LoadInfoCar(i)
{
car[i][cVeh] = CreateVehicle(car[i][cModel], car[i][cX], car[i][cY], car[i][cZ], car[i][cA], car[i][cColor2], car[i][cColor2], 0);
UpdateVehicleDamageStatus(car[i][cVeh], car[i][cDmg1], car[i][cDmg2], car[i][cDmg3], car[i][cDmg4]);
SetVehicleHealth(car[i][cVeh], car[i][cHP]);
return true;
}

stock ShowPTS(playerid, id)
{
static const ModelName[212][] =
{
{!"Landstalker"}, {!"Bravura"}, {!"Buffalo"}, {!"Linerunner"}, {!"Perennial"},
{!"Sentinel"}, {!"Dumper"}, {!"Fire Truck"}, {!"Trashmaster"}, {!"Stretch"},
{!"Manana"}, {!"Infernus"}, {!"Voodoo"}, {!"Pony"}, {!"Mule"}, {!"Cheetah"},
{!"Ambulance"}, {!"Leviathan"}, {!"Moonbeam"}, {!"Esperanto"}, {!"Taxi"},
{!"Washington"}, {!"Bobcat"}, {!"Mr.Whoopee"}, {!"BF Injection"}, {!"Hunter"},
{!"Premier"}, {!"Enforcer"}, {!"Securicar"}, {!"Banshee"}, {!"Predator"}, {!"Bus"},
{!"Rhino"}, {!"Barracks"}, {!"Hotknife"}, {!"Article Trailer 1"}, {!"Previon"},
{!"Coach"}, {!"Cabbie"}, {!"Stallion"}, {!"Rumpo"}, {!"RC Bandit"}, {!"Romero"},
{!"Packer"}, {!"Monster"}, {!"Admiral"}, {!"Squalo"}, {!"Seasparrow"}, {!"Pizzaboy"},
{!"Tram"}, {!"Article Trailer 2"}, {!"Turismo"}, {!"Speeder"}, {!"Reefer"},
{!"Tropic"}, {!"Flatbed"}, {!"Yankee"}, {!"Caddy"}, {!"Solair"}, {!"Berkleys RC Van"},
{!"Skimmer"}, {!"PCJ-600"}, {!"Faggio"}, {!"Freeway"}, {!"RC Baron"}, {!"RC Raider"},
{!"Glendale"}, {!"Oceanic"}, {!"Sanchez"}, {!"Sparrow"}, {!"Patriot"}, {!"Quadbike"},
{!"Coastguard"}, {!"Dinghy"}, {!"Hermes"}, {!"Sabre"}, {!"Rustler"}, {!"ZR-350"},
{!"Walton"}, {!"Regina"}, {!"Comet"}, {!"BMX"}, {!"Burrito"}, {!"Camper"},
{!"Marquis"}, {!"Baggage"}, {!"Dozer"}, {!"Maverick"}, {!"News Chopper"},
{!"Rancher"}, {!"FBI Rancher"}, {!"Virgo"}, {!"Greenwood"}, {!"Jetmax"},
{!"Hotring Racer"}, {!"Sandking"}, {!"Blista Compact"}, {!"Police Maverick"},
{!"Boxville"}, {!"Benson"}, {!"Mesa"}, {!"RC Goblin"}, {!"Hotring Racer A"},
{!"Hotring Racer B"}, {!"Bloodring Banger"}, {!"Rancher"},
{!"Super GT"}, {!"Elegant"}, {!"Journey"}, {!"Bike"}, {!"Mountain Bike"},
{!"Beagle"}, {!"Cropduster"}, {!"Stuntplane"}, {!"Tanker"}, {!"Roadtrain"},
{!"Nebula"}, {!"Majestic"}, {!"Buccaneer"}, {!"Shamal"}, {!"Hydra"}, {!"FCR-900"},
{!"NRG-500"}, {!"HPV1000"}, {!"Cement Truck"}, {!"Towtruck"}, {!"Fortune"}, {!"Cardona"},
{!"FBI Truck"}, {!"Willard"}, {!"Forklift"}, {!"Tractor"}, {!"Combine Harvester"},
{!"Feltzer"}, {!"Remington"}, {!"Slamvan"}, {!"Blade"}, {!"Freight"}, {!"Brown Streak"},
{!"Vortex"}, {!"Vincent"}, {!"Bullet"}, {!"Clover"}, {!"Sadler"}, {!"Fire Truck"},
{!"Hustler"}, {!"Intruder"}, {!"Primo"}, {!"Cargobob"}, {!"Tampa"}, {!"Sunrise"},
{!"Merit"}, {!"Utility Van"}, {!"Nevada"}, {!"Yosemite"}, {!"Windsor"}, {!"Monster A"},
{!"Monster B"}, {!"Uranus"}, {!"Jester"}, {!"Sultan"}, {!"Stratum"}, {!"Elegy"},
{!"Raindance"}, {!"RC Tiger"}, {!"Flash"}, {!"Tahoma"}, {!"Savanna"}, {!"Bandito"},
{!"Freight"}, {!"Brown Streak"}, {!"Kart"}, {!"Mower"}, {!"Dune"}, {!"Sweeper"},
{!"Broadway"}, {!"Tornado"}, {!"AT-400"}, {!"DFT-30"}, {!"Huntley"}, {!"Stafford"},
{!"BF-400"}, {!"Newsvan"}, {!"Tug"}, {!"Petrol Truck"}, {!"Emperor"}, {!"Wayfarer"},
{!"Euros"}, {!"Hotdog"}, {!"Club"}, {!"Freight Box"}, {!"Article Trailer 3"}, {!"Andromada"},
{!"Dodo"}, {!"RC Cam"}, {!"Launch"}, {!"Police (LSPD)"}, {!"Police (SFPD)"}, {!"Police (LVPD)"},
{!"Ranger"}, {!"Picador"}, {!"S.W.A.T."}, {!"Alpha"}, {!"Phoenix"}, {!"Glendale"},
{!"Sadler"}, {!"Baggage Box A"}, {!"Baggage Box B"}, {!"Stairs Trailer"}, {!"Boxville"},
{!"Farm Trailer"}, {!"Utility Trailer"}
};

static const
fmt_str[] =
"\
{00C0FF}Владелец:\t\t\t\t{F81414}%s\
\n{00C0FF}Модель:\t\t\t\t\t{F81414}%s\
\n{00C0FF}Класс:\t\t\t\t{F81414}%s\
";
new
string[sizeof(fmt_str)+MAX_PLAYER_NAME+39];

format(string, sizeof(string), fmt_str, car[id][cName], ModelName[car[id][cModel]+400], car_class[car[id][cClass]+1]);

SPD(playerid, 9, DSM, !"ПТС", string, !"Понятно", !"");
}



CMD:pts(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
if(strcmp(car[vehicleid][cName], GetName(playerid), false))
return SCM(playerid, COLOR_YELLOW, !"Это не ваш транспорт!");
new
targetid;

if(sscanf(params, "u", targetid))
return SCM(playerid, COLOR_RED, !"Образец показа птс транспорта: /pts [id]");
if(!IsPlayerConnected(targetid))
return SCM(playerid, COLOR_RED, !"Игрок с введенным вами ID не в сети!");

static const
fmt_str[] = "*%s показал ПТС автомобиля %s";

new
str[sizeof(fmt_str)-4+MAX_PLAYER_NAME*2+1];

format(str, sizeof(str), fmt_str, GetName(playerid), GetName(targetid));
ProxDetector(playerid, 20.0, COLOR_ACTION, str);
ShowPTS(targetid, playerid);
return true;
}

DeimoS
27.10.2019, 01:20
Эмм, ты либо неправильные названия столбцов указал, либо не создал столбцы в таблице.

SteveStage
27.10.2019, 01:33
https://ibb.co/4T4pR87

DeimoS
27.10.2019, 16:38
А теперь посмотри к какой таблице ты запрос делаешь

SteveStage
28.10.2019, 20:06
Точно! Я делаю запрос на таблицу аккаунтов, а не авто) Я, конечно, невнимательный, но не на столько же
Причина: моя тупость и невнимательность
ЗАКРЫТО

UPD: вот рабочий запрос:
https://pastebin.com/6dqrxxcG


static
fmt_str[] = "SELECT * FROM `cars`";
new
string[sizeof(fmt_str)];

mysql_format(connect_mysql, string, sizeof(string), fmt_str);
mysql_function_query(connect_mysql, string, true, "@_LoadCars", "");

UnO
28.10.2019, 23:20
4 строки твоего рабочего запроса вмещаются в одну:

mysql_function_query(connect_mysql, "SELECT * FROM `cars`", true, "@_LoadCars", "");
https://i.gifer.com/A2Zl.gif

SteveStage
29.10.2019, 00:36
4 строки твоего рабочего запроса вмещаются в одну:

mysql_function_query(connect_mysql, "SELECT * FROM `cars`", true, "@_LoadCars", "");

Я привык делать запросы так, я также и форматирую

UnO
29.10.2019, 03:25
Я привык делать запросы так, я также и форматирую

Хреновая привычка, но делай как нравится (:

DeimoS
29.10.2019, 09:07
Я привык делать запросы так, я также и форматирую

Так а зачем там форматирование, если ты ничего не форматируешь? Тебе об этом говорят.
Вместо того, чтоб делать "как привык", стоит делать "как правильно", что потом не пришлось тратить кучу времени на оптимизацию твоего "как привык", которое, в любом случае, станет "как правильно" после оптимизации.
Закрыто.