16.09.2013, 02:17
Changed my createhouse command to /createhouse <id>
When I type it, the house creates but it doesn't store into the database. I have pasted my debug code below.
Debug message:
My previous command was:
I haven't touched the INSERT INTO query so I don't understand why.
When I type it, the house creates but it doesn't store into the database. I have pasted my debug code below.
pawn Код:
CMD:createhouse(playerid, params[])
{
new string[128], query[300], Float:x, Float:y, Float:z, Float:a, houseid;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
if(sscanf(params, "i", houseid)) return SendClientMessage(playerid, -1, ""Grey"Syntax"White": /createhouse [house id].");
if(houseid < 1)
{
SendClientMessage(playerid, -1, ""Red"Error"White": The house ID has to be 1 or over.");
return 1;
}
format(query, sizeof(query), "SELECT ID FROM `houses` WHERE ID = '%i'", houseid);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
if(rows)
{
SendClientMessage(playerid, -1, ""Red"Error"White": That house ID already exists.");
return 1;
}
mysql_free_result();
HouseInfo[houseid][hID] = houseid;
format(HouseInfo[houseid][hAddress], 100, "1 Hendre Road");
format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, "None");
HouseInfo[houseid][hOwned] = 0;
HouseInfo[houseid][hPrice] = 120000;
HouseInfo[houseid][hX] = x;
HouseInfo[houseid][hY] = y;
HouseInfo[houseid][hZ] = z;
HouseInfo[houseid][hEnterX] = 2495.8945;
HouseInfo[houseid][hEnterY] = -1693.3905;
HouseInfo[houseid][hEnterZ] = 1014.7422;
HouseInfo[houseid][hEnterA] = 179.3163;
HouseInfo[houseid][hExitX] = x;
HouseInfo[houseid][hExitY] = y;
HouseInfo[houseid][hExitZ] = z;
HouseInfo[houseid][hExitA] = 0;
HouseInfo[houseid][hInterior] = 3;
HouseInfo[houseid][hVirtualWorld] = houseid+1;
HouseInfo[houseid][hPickUp] = CreateDynamicPickup(1273, 1, x, y, z, 0);
format(string, sizeof(string), "ID: %d\n"Fuschia"Address"White": %s\n"Fuschia"Owner"White": %s\n"Fuschia"Price"White": $%d", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hPrice]);
HouseInfo[houseid][hText] = CreateDynamic3DTextLabel(string, -1, x, y, z, 20.0);
format(query, sizeof(query), "INSERT INTO houses (ID, Address, Owner, Owned, Price, X, Y, Z, EnterX, EnterY, EnterZ, EnterA, ExitX, ExitY, ExitZ, ExitA, Interior, VirtualWorld) VALUES (%d, '%s', '%s', %d, %d, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %d, %d)", houseid, HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hOwned], HouseInfo[houseid][hPrice], HouseInfo[houseid][hX], HouseInfo[houseid][hY], HouseInfo[houseid][hZ],
HouseInfo[houseid][hEnterX], HouseInfo[houseid][hEnterY], HouseInfo[houseid][hEnterZ], HouseInfo[houseid][hEnterA], HouseInfo[houseid][hExitX], HouseInfo[houseid][hExitY], HouseInfo[houseid][hExitZ], HouseInfo[houseid][hExitA], HouseInfo[houseid][hInterior], HouseInfo[houseid][hVirtualWorld]);
mysql_query(query);
format(string, sizeof(string), ""Green"Notice"White": You have created house ID %d.", HouseInfo[houseid][hID]);
SendClientMessage(playerid, -1, string);
return 1;
}
Код:
[03:18:41] CMySQLHandler::Query(INSERT INTO houses (ID, Address, Owner, Owned, Price, X, Y, Z, EnterX, EnterY, EnterZ, EnterA, ExitX, ExitY, ExitZ, ExitA, Interior, VirtualWorld) VALUES (5, '1 Hendre Road', 'None', 0, 120000, 1668.516479, -2317.446044, 13.382812, 2495.894531, -1693.390502, 1014.742187, 179.316299, 1668.516479, -2) - An error has occured. (Error ID: 1064, 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 '' at line 1)
pawn Код:
CMD:createhouse(playerid, params[])
{
new string[128], query[1500], Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
if(isnull(params)) return SendClientMessage(playerid, -1, ""Grey"Syntax"White": /createhouse [houseid].");
for(new houseid=1; houseid<MAX_HOUSES; houseid++)
{
if(HouseInfo[houseid][hID] != 0) continue;
HouseInfo[houseid][hID] = houseid;
format(HouseInfo[houseid][hAddress], 100, "1 Hendre Road", params);
format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, "None");
HouseInfo[houseid][hOwned] = 0;
HouseInfo[houseid][hPrice] = 120000;
HouseInfo[houseid][hX] = x;
HouseInfo[houseid][hY] = y;
HouseInfo[houseid][hZ] = z;
HouseInfo[houseid][hEnterX] = 2495.8945;
HouseInfo[houseid][hEnterY] = -1693.3905;
HouseInfo[houseid][hEnterZ] = 1014.7422;
HouseInfo[houseid][hEnterA] = 179.3163;
HouseInfo[houseid][hExitX] = x;
HouseInfo[houseid][hExitY] = y;
HouseInfo[houseid][hExitZ] = z;
HouseInfo[houseid][hExitA] = 0;
HouseInfo[houseid][hInterior] = 3;
HouseInfo[houseid][hVirtualWorld] = houseid+1;
HouseInfo[houseid][hPickUp] = CreateDynamicPickup(1273, 1, x, y, z, 0);
format(string, sizeof(string), "ID: %d\n"Fuschia"Address"White": %s\n"Fuschia"Owner"White": %s\n"Fuschia"Price"White": $%d", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hPrice]);
HouseInfo[houseid][hText] = CreateDynamic3DTextLabel(string, -1, x, y, z, 20.0);
format(query, sizeof(query), "INSERT INTO houses (ID, Address, Owner, Owned, Price, X, Y, Z, EnterX, EnterY, EnterZ, EnterA, ExitX, ExitY, ExitZ, ExitA, Interior, VirtualWorld) VALUES (%d, '%s', '%s', %d, %d, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %d, %d)", HouseInfo[houseid][hID], HouseInfo[houseid][hAddress], HouseInfo[houseid][hOwner], HouseInfo[houseid][hOwned], HouseInfo[houseid][hPrice], HouseInfo[houseid][hX], HouseInfo[houseid][hY], HouseInfo[houseid][hZ],
HouseInfo[houseid][hEnterX], HouseInfo[houseid][hEnterY], HouseInfo[houseid][hEnterZ], HouseInfo[houseid][hEnterA], HouseInfo[houseid][hExitX], HouseInfo[houseid][hExitY], HouseInfo[houseid][hExitZ], HouseInfo[houseid][hExitA], HouseInfo[houseid][hInterior], HouseInfo[houseid][hVirtualWorld]);
mysql_query(query);
format(string, sizeof(string), ""Green"Notice"White": You have created house ID %d.", HouseInfo[houseid][hID]);
SendClientMessage(playerid, -1, string);
break;
}
return 1;
}