SQLite no guarda los datos
#1

Buenas, estaba haciendo un guardado de datos con SQLite, pero resulta que a la hora de guardar, no guarda nada.
Alguien me podrнa ayudar? Desde ya muchas gracias.

PHP код:
hook OnPlayerDisconnect(playeridreason)
{
    new 
query[128], DBResult:r_query;
    
format(querysizeof(query), "UPDATE `jugadores` SET `Baneado` = '%i', `Admin` = '%i', `AdminRango` = '%q'\
    `Vip` = '%i', `Vida` = '%f', `Chaleco` = '%f', `Skin` = '%i', `VW` = '%i', `Interior` = '%i' \
    WHERE `Nombre` = '%q'"
,
                                            
Info[playerid][pBaneado],
                                            
Info[playerid][pAdmin],
                                            
Info[playerid][pAdminRango],
                                            
Info[playerid][pVip],
                                            
Info[playerid][pVida],
                                            
Info[playerid][pChaleco],
                                            
Info[playerid][pSkin],
                                            
GetPlayerVirtualWorld(playerid),
                                            
GetPlayerInterior(playerid),
                                            
NombreJugador(playerid));
    
r_query db_query(servidor,query);
    
db_free_result(r_query);
    return 
1;

PHP код:
case DIALOG_CLAVESEC:
        {
            if(
response == 1)
            {
                if(
strlen(inputtext) < || strlen(inputtext) > 24) return ShowPlayerDialog(playeridDIALOG_CLAVESECDIALOG_STYLE_INPUT"Clave secreta""Introduce una clave secreta que usarбs en caso de olvidar tu clave\nNo pongas la misma clave que la principal\n{FF0000}La clave debe tener mбs de 4 carбcteres y menos de 24","Aceptar","");
                new 
sas[270], DBResult:result;
                
format(sassizeof(sas), "INSERT INTO `jugadores` (`Nombre`,`Password`,`PassSecreta`,`Baneado`,`Admin`,`AdminRango`,`Vip`,`Vida`,`Chaleco`,`VW`,`Interior`) VALUES ('%q','%q','%q',0,0,'Ninguno',0,100.0,0.0,0,0)",NombreJugador(playerid),Info[playerid][pPass],inputtext);
                
result db_query(servidor,sas);
                
db_free_result(result);
                
HaLogueado[playerid] = true;
            }
        } 
Reply
#2

Una ayuda por favor?
Reply
#3

En la primera query el tamaсo de la variable no es suficiente, deberнas poner 230 celdas aproximadamente para que te quepa todo. Luego al usar \ para saltar de lнnea olvidaste poner la coma , despuйs del campo AdminRango.
PHP код:
format(querysizeof(query),
    
"UPDATE `jugadores` SET `Baneado` = '%i', `Admin` = '%i', `AdminRango` = '%q', \
    `Vip` = '%i', `Vida` = '%f', `Chaleco` = '%f', `Skin` = '%i', `VW` = '%i', `Interior` = '%i' \
    WHERE `Nombre` = '%q'"
,
    
Info[playerid][pBaneado], 
    
Info[playerid][pAdmin], 
    
Info[playerid][pAdminRango], 
    
Info[playerid][pVip], 
    
Info[playerid][pVida], 
    
Info[playerid][pChaleco], 
    
Info[playerid][pSkin], 
    
GetPlayerVirtualWorld(playerid), 
    
GetPlayerInterior(playerid), 
    
NombreJugador(playerid)
); 
La segunda parece estar bien, si no te funciona comprueba el tamaсo de las variables. Recuerda que si no te interesa el resultado que devuelve db_query puedes hacer lo siguiente para no declarar una variable del tipo DBResult:http://forum.sa-mp.com/images/editor/menupop.gif
PHP код:
db_free_result(db_query(sql_handlequery)); 
PD: puedes hacer una depuraciуn (debug) del SQLite poniendo en server.cfg lo siguiente:
Код:
db_logging 1
db_log_queries 1
De esta forma podrбs ver en el server_log.txt los errores que cometas.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)