SQL Error -
JaKe Elite - 25.01.2018
PHP код:
// Character's Vehicles
format(sz_Query, sizeof(sz_Query), "CREATE TABLE IF NOT EXISTS `char_vehicles` ");
format(sz_Query, sizeof(sz_Query), "%s(", sz_Query);
for(new i; i < MAX_PLAYERVEHICLES; i++)
{
if(i >= MAX_PLAYERVEHICLES-1)
{
format(sz_Query, sizeof(sz_Query), "%s`pv%dPosX` FLOAT DEFAULT 0.0, `pv%dPosY` FLOAT DEFAULT 0.0, `pv%dPosZ` FLOAT DEFAULT 0.0, `pv%dPosAngle` FLOAT DEFAULT 0.0, `pv%dModelId` INTEGER DEFAULT 0, `pv%dLock` INTEGER DEFAULT 0, `pv%dLocked` INTEGER DEFAULT 0, `pv%dPaintJob` INTEGER DEFAULT 0, `pv%dColor1` INTEGER DEFAULT 0, `pv%dColor2` INTEGER DEFAULT 0, `pv%dTicket` INTEGER DEFAULT 0, ", sz_Query, i, i, i, i, i, i, i, i, i, i, i);
format(sz_Query, sizeof(sz_Query), "%s`pv%dFuel` FLOAT DEFAULT 100.00, `pv%dImpound` INTEGER DEFAULT 0, `pv%dPlate` STRING DEFAULT NULL, `pv%dEZPass` INTEGER DEFAULT 0, `pv%dTicketReason` STRING DEFAULT NULL", sz_Query, i, i, i, i, i);
}
else
{
format(sz_Query, sizeof(sz_Query), "%s`pv%dPosX` FLOAT DEFAULT 0.0, `pv%dPosY` FLOAT DEFAULT 0.0, `pv%dPosZ` FLOAT DEFAULT 0.0, `pv%dPosAngle` FLOAT DEFAULT 0.0, `pv%dModelId` INTEGER DEFAULT 0, `pv%dLock` INTEGER DEFAULT 0, `pv%dLocked` INTEGER DEFAULT 0, `pv%dPaintJob` INTEGER DEFAULT 0, `pv%dColor1` INTEGER DEFAULT 0, `pv%dColor2` INTEGER DEFAULT 0, `pv%dTicket` INTEGER DEFAULT 0, ", sz_Query, i, i, i, i, i, i, i, i, i, i, i);
format(sz_Query, sizeof(sz_Query), "%s`pv%dFuel` FLOAT DEFAULT 100.00, `pv%dImpound` INTEGER DEFAULT 0, `pv%dPlate` STRING DEFAULT NULL, `pv%dEZPass` INTEGER DEFAULT 0, `pv%dTicketReason` STRING DEFAULT NULL, ", sz_Query, i, i, i, i, i);
}
}
format(sz_Query, sizeof(sz_Query), "%s)", sz_Query);
db_free_result(db_query(Database, sz_Query));
It is printing out a db error and I tried debugging it, When the query is run on the SQLite Browser there seem to be no error. Any clue what could be the problem?
The error:
Код:
[20:15:57] [Warning] db_query: Query failed: near "0": syntax error
[20:15:57] [Error] db_free_result(): invalid result handle 0
Re: SQL Error -
iLearner - 25.01.2018
Try using strcat, also your data length per line seems to be too long.
Re: SQL Error -
JaKe Elite - 25.01.2018
Same error, tried it with strcat
Re: SQL Error -
Steph12 - 25.01.2018
print the query and look if its cut off due to a too short length
Re: SQL Error -
JaKe Elite - 25.01.2018
Код:
[19:56:41] [Warning] db_query: Query failed: near "0": syntax error
[19:56:41] [Error] db_free_result(): invalid result handle 0
[19:56:41] CREATE TABLE IF NOT EXISTS `char_vehicles`
[19:56:41] CREATE TABLE IF NOT EXISTS `char_vehicles` (
[19:56:41] `pv0PosX` FLOAT DEFAULT 0.0, `pv0PosY` FLOAT DEFAULT 0.0, `pv0PosZ` FLOAT DEFAULT 0.0, `pv0PosAngle` FLOAT DEFAULT 0.0, `pv0ModelId` INTEGER DEFAULT 0, `pv0Lock` INTEGER DEFAULT 0, `pv0Locked` INTEGER DEFAULT 0, `pv0PaintJob` INTEGER DEFAULT 0, `pv0Color1` INTEGER DEFAULT 0, `pv0Color2` INTEGER DEFAULT 0, `pv0Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv0Fuel` FLOAT DEFAULT 100.00, `pv0Impound` INTEGER DEFAULT 0, `pv0Plate` STRING DEFAULT NULL, `pv0EZPass` INTEGER DEFAULT 0, `pv0TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv1PosX` FLOAT DEFAULT 0.0, `pv1PosY` FLOAT DEFAULT 0.0, `pv1PosZ` FLOAT DEFAULT 0.0, `pv1PosAngle` FLOAT DEFAULT 0.0, `pv1ModelId` INTEGER DEFAULT 0, `pv1Lock` INTEGER DEFAULT 0, `pv1Locked` INTEGER DEFAULT 0, `pv1PaintJob` INTEGER DEFAULT 0, `pv1Color1` INTEGER DEFAULT 0, `pv1Color2` INTEGER DEFAULT 0, `pv1Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv1Fuel` FLOAT DEFAULT 100.00, `pv1Impound` INTEGER DEFAULT 0, `pv1Plate` STRING DEFAULT NULL, `pv1EZPass` INTEGER DEFAULT 0, `pv1TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv2PosX` FLOAT DEFAULT 0.0, `pv2PosY` FLOAT DEFAULT 0.0, `pv2PosZ` FLOAT DEFAULT 0.0, `pv2PosAngle` FLOAT DEFAULT 0.0, `pv2ModelId` INTEGER DEFAULT 0, `pv2Lock` INTEGER DEFAULT 0, `pv2Locked` INTEGER DEFAULT 0, `pv2PaintJob` INTEGER DEFAULT 0, `pv2Color1` INTEGER DEFAULT 0, `pv2Color2` INTEGER DEFAULT 0, `pv2Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv2Fuel` FLOAT DEFAULT 100.00, `pv2Impound` INTEGER DEFAULT 0, `pv2Plate` STRING DEFAULT NULL, `pv2EZPass` INTEGER DEFAULT 0, `pv2TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv3PosX` FLOAT DEFAULT 0.0, `pv3PosY` FLOAT DEFAULT 0.0, `pv3PosZ` FLOAT DEFAULT 0.0, `pv3PosAngle` FLOAT DEFAULT 0.0, `pv3ModelId` INTEGER DEFAULT 0, `pv3Lock` INTEGER DEFAULT 0, `pv3Locked` INTEGER DEFAULT 0, `pv3PaintJob` INTEGER DEFAULT 0, `pv3Color1` INTEGER DEFAULT 0, `pv3Color2` INTEGER DEFAULT 0, `pv3Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv3Fuel` FLOAT DEFAULT 100.00, `pv3Impound` INTEGER DEFAULT 0, `pv3Plate` STRING DEFAULT NULL, `pv3EZPass` INTEGER DEFAULT 0, `pv3TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv4PosX` FLOAT DEFAULT 0.0, `pv4PosY` FLOAT DEFAULT 0.0, `pv4PosZ` FLOAT DEFAULT 0.0, `pv4PosAngle` FLOAT DEFAULT 0.0, `pv4ModelId` INTEGER DEFAULT 0, `pv4Lock` INTEGER DEFAULT 0, `pv4Locked` INTEGER DEFAULT 0, `pv4PaintJob` INTEGER DEFAULT 0, `pv4Color1` INTEGER DEFAULT 0, `pv4Color2` INTEGER DEFAULT 0, `pv4Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv4Fuel` FLOAT DEFAULT 100.00, `pv4Impound` INTEGER DEFAULT 0, `pv4Plate` STRING DEFAULT NULL, `pv4EZPass` INTEGER DEFAULT 0, `pv4TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv5PosX` FLOAT DEFAULT 0.0, `pv5PosY` FLOAT DEFAULT 0.0, `pv5PosZ` FLOAT DEFAULT 0.0, `pv5PosAngle` FLOAT DEFAULT 0.0, `pv5ModelId` INTEGER DEFAULT 0, `pv5Lock` INTEGER DEFAULT 0, `pv5Locked` INTEGER DEFAULT 0, `pv5PaintJob` INTEGER DEFAULT 0, `pv5Color1` INTEGER DEFAULT 0, `pv5Color2` INTEGER DEFAULT 0, `pv5Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv5Fuel` FLOAT DEFAULT 100.00, `pv5Impound` INTEGER DEFAULT 0, `pv5Plate` STRING DEFAULT NULL, `pv5EZPass` INTEGER DEFAULT 0, `pv5TicketReason` STRING DEFAULT NULL,
[19:56:41] `pv6PosX` FLOAT DEFAULT 0.0, `pv6PosY` FLOAT DEFAULT 0.0, `pv6PosZ` FLOAT DEFAULT 0.0, `pv6PosAngle` FLOAT DEFAULT 0.0, `pv6ModelId` INTEGER DEFAULT 0, `pv6Lock` INTEGER DEFAULT 0, `pv6Locked` INTEGER DEFAULT 0, `pv6PaintJob` INTEGER DEFAULT 0, `pv6Color1` INTEGER DEFAULT 0, `pv6Color2` INTEGER DEFAULT 0, `pv6Ticket` INTEGER DEFAULT 0,
[19:56:41] `pv6Fuel` FLOAT DEFAULT 100.00, `pv6Impound` INTEGER DEFAULT 0, `pv6Plate` STRING DEFAULT NULL, `pv6EZPass` INTEGER DEFAULT 0, `pv6TicketReason` STRING DEFAULT NULL
Forgot to print out the ) and don't mind the print out for CREATE TABLE being printed out twice, I glued it up all together and no error was found
Re: SQL Error -
InfiniTy. - 25.01.2018
Creating tables should be a "one time only thing", so personally i don't see the point of what you are trying to do.
And also that is a very, very bad design. I would suggest you create the table manually with an easy tool like phpmyadmin and also rethink the system
Re: SQL Error -
JaKe Elite - 25.01.2018
I have tried re-organizing the table itself. I separated the weapon/trunk contents & the vehicle modification content, I don't see what else is need to be separated from the main table (and it's SQLite btw)
Re: SQL Error -
Dayrion - 25.01.2018
I'm maybe wrong but "STRING" isn't a SQL type.
I tried this query to test and it works:
PHP код:
CREATE TABLE IF NOT EXISTS `char_vehicles` (
`pv0PosX` FLOAT DEFAULT 0.0, `pv0PosY` FLOAT DEFAULT 0.0, `pv0PosZ` FLOAT DEFAULT 0.0, `pv0PosAngle` FLOAT DEFAULT 0.0, `pv0ModelId` INTEGER DEFAULT 0, `pv0Lock` INTEGER DEFAULT 0, `pv0Locked` INTEGER DEFAULT 0, `pv0PaintJob` INTEGER DEFAULT 0, `pv0Color1` INTEGER DEFAULT 0, `pv0Color2` INTEGER DEFAULT 0, `pv0Ticket` INTEGER DEFAULT 0,
`pv0Fuel` FLOAT DEFAULT 100.00, `pv0Impound` INTEGER DEFAULT 0, `pv0Plate` TEXT DEFAULT NULL, `pv0EZPass` INTEGER DEFAULT 0, `pv0TicketReason` TEXT DEFAULT NULL,
`pv1PosX` FLOAT DEFAULT 0.0, `pv1PosY` FLOAT DEFAULT 0.0, `pv1PosZ` FLOAT DEFAULT 0.0, `pv1PosAngle` FLOAT DEFAULT 0.0, `pv1ModelId` INTEGER DEFAULT 0, `pv1Lock` INTEGER DEFAULT 0, `pv1Locked` INTEGER DEFAULT 0, `pv1PaintJob` INTEGER DEFAULT 0, `pv1Color1` INTEGER DEFAULT 0, `pv1Color2` INTEGER DEFAULT 0, `pv1Ticket` INTEGER DEFAULT 0,
`pv1Fuel` FLOAT DEFAULT 100.00, `pv1Impound` INTEGER DEFAULT 0, `pv1Plate` TEXT DEFAULT NULL, `pv1EZPass` INTEGER DEFAULT 0, `pv1TicketReason` TEXT DEFAULT NULL,
`pv2PosX` FLOAT DEFAULT 0.0, `pv2PosY` FLOAT DEFAULT 0.0, `pv2PosZ` FLOAT DEFAULT 0.0, `pv2PosAngle` FLOAT DEFAULT 0.0, `pv2ModelId` INTEGER DEFAULT 0, `pv2Lock` INTEGER DEFAULT 0, `pv2Locked` INTEGER DEFAULT 0, `pv2PaintJob` INTEGER DEFAULT 0, `pv2Color1` INTEGER DEFAULT 0, `pv2Color2` INTEGER DEFAULT 0, `pv2Ticket` INTEGER DEFAULT 0,
`pv2Fuel` FLOAT DEFAULT 100.00, `pv2Impound` INTEGER DEFAULT 0, `pv2Plate` TEXT DEFAULT NULL, `pv2EZPass` INTEGER DEFAULT 0, `pv2TicketReason` TEXT DEFAULT NULL,
`pv3PosX` FLOAT DEFAULT 0.0, `pv3PosY` FLOAT DEFAULT 0.0, `pv3PosZ` FLOAT DEFAULT 0.0, `pv3PosAngle` FLOAT DEFAULT 0.0, `pv3ModelId` INTEGER DEFAULT 0, `pv3Lock` INTEGER DEFAULT 0, `pv3Locked` INTEGER DEFAULT 0, `pv3PaintJob` INTEGER DEFAULT 0, `pv3Color1` INTEGER DEFAULT 0, `pv3Color2` INTEGER DEFAULT 0, `pv3Ticket` INTEGER DEFAULT 0,
`pv3Fuel` FLOAT DEFAULT 100.00, `pv3Impound` INTEGER DEFAULT 0, `pv3Plate` TEXT DEFAULT NULL, `pv3EZPass` INTEGER DEFAULT 0, `pv3TicketReason` TEXT DEFAULT NULL,
`pv4PosX` FLOAT DEFAULT 0.0, `pv4PosY` FLOAT DEFAULT 0.0, `pv4PosZ` FLOAT DEFAULT 0.0, `pv4PosAngle` FLOAT DEFAULT 0.0, `pv4ModelId` INTEGER DEFAULT 0, `pv4Lock` INTEGER DEFAULT 0, `pv4Locked` INTEGER DEFAULT 0, `pv4PaintJob` INTEGER DEFAULT 0, `pv4Color1` INTEGER DEFAULT 0, `pv4Color2` INTEGER DEFAULT 0, `pv4Ticket` INTEGER DEFAULT 0,
`pv4Fuel` FLOAT DEFAULT 100.00, `pv4Impound` INTEGER DEFAULT 0, `pv4Plate` TEXT DEFAULT NULL, `pv4EZPass` INTEGER DEFAULT 0, `pv4TicketReason` TEXT DEFAULT NULL,
`pv5PosX` FLOAT DEFAULT 0.0, `pv5PosY` FLOAT DEFAULT 0.0, `pv5PosZ` FLOAT DEFAULT 0.0, `pv5PosAngle` FLOAT DEFAULT 0.0, `pv5ModelId` INTEGER DEFAULT 0, `pv5Lock` INTEGER DEFAULT 0, `pv5Locked` INTEGER DEFAULT 0, `pv5PaintJob` INTEGER DEFAULT 0, `pv5Color1` INTEGER DEFAULT 0, `pv5Color2` INTEGER DEFAULT 0, `pv5Ticket` INTEGER DEFAULT 0,
`pv5Fuel` FLOAT DEFAULT 100.00, `pv5Impound` INTEGER DEFAULT 0, `pv5Plate` TEXT DEFAULT NULL, `pv5EZPass` INTEGER DEFAULT 0, `pv5TicketReason` TEXT DEFAULT NULL,
`pv6PosX` FLOAT DEFAULT 0.0, `pv6PosY` FLOAT DEFAULT 0.0, `pv6PosZ` FLOAT DEFAULT 0.0, `pv6PosAngle` FLOAT DEFAULT 0.0, `pv6ModelId` INTEGER DEFAULT 0, `pv6Lock` INTEGER DEFAULT 0, `pv6Locked` INTEGER DEFAULT 0, `pv6PaintJob` INTEGER DEFAULT 0, `pv6Color1` INTEGER DEFAULT 0, `pv6Color2` INTEGER DEFAULT 0, `pv6Ticket` INTEGER DEFAULT 0,
`pv6Fuel` FLOAT DEFAULT 100.00, `pv6Impound` INTEGER DEFAULT 0, `pv6Plate` TEXT DEFAULT NULL, `pv6EZPass` INTEGER DEFAULT 0, `pv6TicketReason` TEXT DEFAULT NULL)
Re: SQL Error -
JaKe Elite - 25.01.2018
The error appears to come from another table, I have commented out the code for creating the player vehicle's table, I guess I will solve this out myself. Thanks for your time guys.
Re: SQL Error -
Misiur - 25.01.2018
Look up "normalizing" tables, by Vince IIRC. When you start numbering fields (with a few exceptions), you are creating your structure wrong.