Create table if not exists
#1

Buenas, estaba comenzando a hacer un nuevo servidor, y cuando compilo me salen errores en la creaciуn de la tabla, podrнa darme una mano? Aquн les dejo el cуdigo y los errores, desde ya muchas gracias.

PHP код:
db_free_result(db_query(jugadores"CREATE TABLE IF NOT EXISTS `datos` \ 
                                                                            (`ID` INTEGER PRIMARY KEY AUTOINCREMENT, \
                                                                            `Nombre` VARCHAR(24) NOT NULL, \
                                                                            `Password` VARCHAR(24) NOT NULL, \
                                                                            `Baneado` INTEGER NOT NULL, \
                                                                            `Admin` INTEGER NOT NULL, \
                                                                            `Nivel` INTEGER NOT NULL, \
                                                                            `Experiencia` INTEGER NOT NULL, \
                                                                            `Monedas de oro` INTEGER NOT NULL, \
                                                                            `Dinero` INTEGER NOT NULL, \
                                                                            `Cuenta bancaria` INTEGER NOT NULL, \
                                                                            `Trabajo` INTEGER NOT NULL, \
                                                                            `Faccion` INTEGER NOT NULL, \
                                                                            `Rango faccion` INTEGER NOT NULL, \
                                                                            `Policia` INTEGER NOT NULL, \
                                                                            `Rango policia` INTEGER NOT NULL, \
                                                                            `Pos X` FLOAT NOT NULL, \
                                                                            `Pos Y` FLOAT NOT NULL, \
                                                                            `Pos Z` FLOAT NOT NULL, \
                                                                            `Pos R` FLOAT NOT NULL, \
                                                                            `Skin` INTEGER NOT NULL, \
                                                                            `Vida` FLOAT NOT NULL, \
                                                                            `Chaleco` FLOAT NOT NULL, \
                                                                            `Virtual World` INTEGER NOT NULL, \
                                                                            `Interior` INTEGER NOT NULL, \
                                                                            `Medicamentos` INTEGER NOT NULL, \
                                                                            `Crack` INTEGER NOT NULL, \
                                                                            `Materiales` INTEGER NOT NULL, \
                                                                            `Sancion` INTEGER NOT NULL, \
                                                                            `Tiempo sancion` INTEGER NOT NULL, \
                                                                            `Sanciones` INTEGER NOT NULL, \
                                                                            `Carcel` INTEGER NOT NULL, \
                                                                            `Tiempo carcel` INTEGER NOT NULL, \
                                                                            `Arrestos` INTEGER NOT NULL)"
)); 
Los errores:
Quote:

Untitled.pwn(74) : error 075: input line too long (after substitutions)
Untitled.pwn(75) : error 037: invalid string (possibly non-terminated string)
Untitled.pwn(75) : error 017: undefined symbol "CREATE"
Untitled.pwn(75) : error 017: undefined symbol "TABLE"
Untitled.pwn(75) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


5 Errors.

Reply
#2

Que andas haciendo pues? Sabes para que es db_free_result? Mira un tutorial.
Reply
#3

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Que andas haciendo pues? Sabes para que es db_free_result? Mira un tutorial.
Ya lo arreglй, pase todo a una cadena de texto con strcat :v
Reply
#4

Asi no se utiliza.

https://sampwiki.blast.hk/wiki/Db_free_result
Reply
#5

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
qresult = db_query(jugadores, "askdjas");
db_free_result(qresult);

db_free_result(db_query(jugadores, "askjdsak"));

Es lo mismo :v
Reply
#6

Se refiere a que db_free_result no es necesario usarlo con INSERT, UPDATE, DELETE, etc.

Aunque no estoy seguro de como puede funcionar esto en sqlite, en php + mysql no es necesario.
Reply
#7

Bueno, el primer paso para saber que estбis equivocados respecto al uso de db_free_result es leer sobre db_query en la Wiki SA-MP.

Traducirй una nota muy importante para los que no sepan inglйs, veamos, dice asн:
Quote:
Originally Posted by SA-MP Wiki
Important Note: Always free the result by using db_free_result!
Lo que vendrнa a significar algo como:
Quote:
Originally Posted by DOG
Nota importante: Ўsiempre se ha de liberar el resultado usando db_free_result!
El SQLite del SA-MP ha cambiado desde la versiуn 0.3.7 R2 y ahora ya no se devuelven resultados, se devuelve una ID para acceder a dicho resultado.

їQuй mбs da si el resultado es true, false o quiйn sabe quй? El resultado sigue siendo un resultado, se ha de liberar. Os recuerdo que estamos en SA-MP usando SQLite, no en php con MySQLi.

Caballeros... un saludo.
Reply
#8

bm0z, para ese tipo de consultas, "db_query" retornarб el йxito o fracaso de la misma. Por lo que hacer:

pawn Код:
new DBResult:p = db_query(db_handle, "CREATE TABLE IF NOT EXISTS `spawn_log`(`ID` INTEGER PRIMARY KEY AUTOINCREMENT,`PlayerID` INTEGER NOT NULL,`PlayerName` VARCHAR(24) NOT NULL)");

// Se ejecutу correctamente la consulta
if(p)
// Algo ocurriу mal
else
Reply
#9

No se si importe mucho, pero he trabajado con SQLite y es un poco delicado eso cualquier cosa te deja de funcionar, te recomiendo que no dejes espacios en tus variables SQL.


EDIT: le cambie los nombre de las variables y funcionу.



PHP код:
db_query(jugadores"CREATE TABLE IF NOT EXISTS datos(ID INTEGER PRIMARY KEY AUTOINCREMENT, \ 
Nombre VARCHAR(24) NOT NULL, \ 
Password VARCHAR(24) NOT NULL, \ 
Baneado INTEGER NOT NULL, \ 
Admin INTEGER NOT NULL, \ 
Nivel INTEGER NOT NULL, \ 
Experiencia INTEGER NOT NULL, \ 
Monedas INTEGER NOT NULL, \ 
Dinero INTEGER NOT NULL, \
Bancaria INTEGER NOT NULL, \ 
Trabajo INTEGER NOT NULL, \ 
Faccion INTEGER NOT NULL, \ 
Rangof INTEGER NOT NULL, \ 
Policia INTEGER NOT NULL, \ 
RangoP INTEGER NOT NULL, \ 
PosX FLOAT NOT NULL, \ 
PosY FLOAT NOT NULL, \ 
PosZ FLOAT NOT NULL, \ 
PosR FLOAT NOT NULL, \ 
Skin INTEGER NOT NULL, \ 
Vida FLOAT NOT NULL, \ 
Chaleco FLOAT NOT NULL, \ 
World INTEGER NOT NULL, \ 
Interior INTEGER NOT NULL, \ 
Medicamentos INTEGER NOT NULL, \ 
Crack INTEGER NOT NULL, \ 
Materiales INTEGER NOT NULL, \ 
Sancion INTEGER NOT NULL, \ 
TiempoS INTEGER NOT NULL, \ 
Sanciones INTEGER NOT NULL, \ 
Carcel INTEGER NOT NULL, \ 
TiempoC INTEGER NOT NULL, \ 
Arrestos INTEGER NOT NULL)"
); 
Reply
#10

Lo que quize decir es que no ocupas usar db_free_result(), ya que no estas seleccionando algo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)