SQL Error
#1

PHP код:
// Character's Vehicles
format(sz_Querysizeof(sz_Query), "CREATE TABLE IF NOT EXISTS `char_vehicles` ");
format(sz_Querysizeof(sz_Query), "%s("sz_Query);
for(new 
iMAX_PLAYERVEHICLESi++)
{
    if(
>= MAX_PLAYERVEHICLES-1)
    {
        
format(sz_Querysizeof(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_Queryiiiiiiiiiii);
         
format(sz_Querysizeof(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_Queryiiiii);
    }
    else
    {
        
format(sz_Querysizeof(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_Queryiiiiiiiiiii);
        
format(sz_Querysizeof(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_Queryiiiii);
    }
}
format(sz_Querysizeof(sz_Query), "%s)"sz_Query);
db_free_result(db_query(Databasesz_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
Reply
#2

Try using strcat, also your data length per line seems to be too long.
Reply
#3

Same error, tried it with strcat
Reply
#4

print the query and look if its cut off due to a too short length
Reply
#5

Код:
[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
Reply
#6

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
Reply
#7

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)
Reply
#8

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` (
`
pv0PosXFLOAT DEFAULT 0.0, `pv0PosYFLOAT DEFAULT 0.0, `pv0PosZFLOAT DEFAULT 0.0, `pv0PosAngleFLOAT DEFAULT 0.0, `pv0ModelIdINTEGER DEFAULT 0, `pv0LockINTEGER DEFAULT 0, `pv0LockedINTEGER DEFAULT 0, `pv0PaintJobINTEGER DEFAULT 0, `pv0Color1INTEGER DEFAULT 0, `pv0Color2INTEGER DEFAULT 0, `pv0TicketINTEGER DEFAULT 0
`
pv0FuelFLOAT DEFAULT 100.00, `pv0ImpoundINTEGER DEFAULT 0, `pv0PlateTEXT DEFAULT NULL, `pv0EZPassINTEGER DEFAULT 0, `pv0TicketReasonTEXT DEFAULT NULL
`
pv1PosXFLOAT DEFAULT 0.0, `pv1PosYFLOAT DEFAULT 0.0, `pv1PosZFLOAT DEFAULT 0.0, `pv1PosAngleFLOAT DEFAULT 0.0, `pv1ModelIdINTEGER DEFAULT 0, `pv1LockINTEGER DEFAULT 0, `pv1LockedINTEGER DEFAULT 0, `pv1PaintJobINTEGER DEFAULT 0, `pv1Color1INTEGER DEFAULT 0, `pv1Color2INTEGER DEFAULT 0, `pv1TicketINTEGER DEFAULT 0
`
pv1FuelFLOAT DEFAULT 100.00, `pv1ImpoundINTEGER DEFAULT 0, `pv1PlateTEXT DEFAULT NULL, `pv1EZPassINTEGER DEFAULT 0, `pv1TicketReasonTEXT DEFAULT NULL
`
pv2PosXFLOAT DEFAULT 0.0, `pv2PosYFLOAT DEFAULT 0.0, `pv2PosZFLOAT DEFAULT 0.0, `pv2PosAngleFLOAT DEFAULT 0.0, `pv2ModelIdINTEGER DEFAULT 0, `pv2LockINTEGER DEFAULT 0, `pv2LockedINTEGER DEFAULT 0, `pv2PaintJobINTEGER DEFAULT 0, `pv2Color1INTEGER DEFAULT 0, `pv2Color2INTEGER DEFAULT 0, `pv2TicketINTEGER DEFAULT 0
`
pv2FuelFLOAT DEFAULT 100.00, `pv2ImpoundINTEGER DEFAULT 0, `pv2PlateTEXT DEFAULT NULL, `pv2EZPassINTEGER DEFAULT 0, `pv2TicketReasonTEXT DEFAULT NULL
`
pv3PosXFLOAT DEFAULT 0.0, `pv3PosYFLOAT DEFAULT 0.0, `pv3PosZFLOAT DEFAULT 0.0, `pv3PosAngleFLOAT DEFAULT 0.0, `pv3ModelIdINTEGER DEFAULT 0, `pv3LockINTEGER DEFAULT 0, `pv3LockedINTEGER DEFAULT 0, `pv3PaintJobINTEGER DEFAULT 0, `pv3Color1INTEGER DEFAULT 0, `pv3Color2INTEGER DEFAULT 0, `pv3TicketINTEGER DEFAULT 0
`
pv3FuelFLOAT DEFAULT 100.00, `pv3ImpoundINTEGER DEFAULT 0, `pv3PlateTEXT DEFAULT NULL, `pv3EZPassINTEGER DEFAULT 0, `pv3TicketReasonTEXT DEFAULT NULL
`
pv4PosXFLOAT DEFAULT 0.0, `pv4PosYFLOAT DEFAULT 0.0, `pv4PosZFLOAT DEFAULT 0.0, `pv4PosAngleFLOAT DEFAULT 0.0, `pv4ModelIdINTEGER DEFAULT 0, `pv4LockINTEGER DEFAULT 0, `pv4LockedINTEGER DEFAULT 0, `pv4PaintJobINTEGER DEFAULT 0, `pv4Color1INTEGER DEFAULT 0, `pv4Color2INTEGER DEFAULT 0, `pv4TicketINTEGER DEFAULT 0
`
pv4FuelFLOAT DEFAULT 100.00, `pv4ImpoundINTEGER DEFAULT 0, `pv4PlateTEXT DEFAULT NULL, `pv4EZPassINTEGER DEFAULT 0, `pv4TicketReasonTEXT DEFAULT NULL
`
pv5PosXFLOAT DEFAULT 0.0, `pv5PosYFLOAT DEFAULT 0.0, `pv5PosZFLOAT DEFAULT 0.0, `pv5PosAngleFLOAT DEFAULT 0.0, `pv5ModelIdINTEGER DEFAULT 0, `pv5LockINTEGER DEFAULT 0, `pv5LockedINTEGER DEFAULT 0, `pv5PaintJobINTEGER DEFAULT 0, `pv5Color1INTEGER DEFAULT 0, `pv5Color2INTEGER DEFAULT 0, `pv5TicketINTEGER DEFAULT 0
`
pv5FuelFLOAT DEFAULT 100.00, `pv5ImpoundINTEGER DEFAULT 0, `pv5PlateTEXT DEFAULT NULL, `pv5EZPassINTEGER DEFAULT 0, `pv5TicketReasonTEXT DEFAULT NULL
`
pv6PosXFLOAT DEFAULT 0.0, `pv6PosYFLOAT DEFAULT 0.0, `pv6PosZFLOAT DEFAULT 0.0, `pv6PosAngleFLOAT DEFAULT 0.0, `pv6ModelIdINTEGER DEFAULT 0, `pv6LockINTEGER DEFAULT 0, `pv6LockedINTEGER DEFAULT 0, `pv6PaintJobINTEGER DEFAULT 0, `pv6Color1INTEGER DEFAULT 0, `pv6Color2INTEGER DEFAULT 0, `pv6TicketINTEGER DEFAULT 0
`
pv6FuelFLOAT DEFAULT 100.00, `pv6ImpoundINTEGER DEFAULT 0, `pv6PlateTEXT DEFAULT NULL, `pv6EZPassINTEGER DEFAULT 0, `pv6TicketReasonTEXT DEFAULT NULL
Reply
#9

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.
Reply
#10

Look up "normalizing" tables, by Vince IIRC. When you start numbering fields (with a few exceptions), you are creating your structure wrong.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)