Veteran Member
Join Date: Jul 2010
Location: Argentina
|
12-06-2012
, 17:02
Re: error SQL_FieldNameToNum
|
#6
|
Quote:
Originally Posted by Roccoxx
gracias
ahora tengo unos nuevos, busque en google y decían algo en comillas simples y nada que ver
PHP Code:
L 12/06/2012 - 18:48:49: Log file started (file "cstrike\addons\amxmodx\logs\SQL_LOG_TQ.txt") (game "cstrike") (amx "1.8.1.3746") L 12/06/2012 - 18:48:49: Error en la consulta al MySQL [1054]: Unknown column 'i' in 'where clause' L 12/06/2012 - 18:49:50: Error en la consulta al MySQL [1054]: Unknown column 'i' in 'where clause' L 12/06/2012 - 18:49:50: Error en la consulta al MySQL [1054]: Unknown column 'i' in 'where clause'
PHP Code:
public guardar_datos( id ) { if( g_estado[ id ] != LOGUEADO ) return; static szQuery[ 128 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; formatex(str_pun_mej_h, 30, "%d %d %d %d %d %d %d", g_puntos[id][0], g_p_gastados[id][0], g_mejoras[id][0][0], g_mejoras[id][0][1], g_mejoras[id][0][2], g_mejoras[id][0][3], g_mejoras[id][0][4]) formatex(str_pun_mej_z, 30, "%d %d %d %d %d %d", g_puntos[id][1], g_p_gastados[id][1], g_mejoras[id][1][0], g_mejoras[id][1][1], g_mejoras[id][1][2], g_mejoras[id][1][3])
formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET Experiencia='%d', lvl='%d', reset='%d', classz='%s', classh='%s', pun_mej_h='%s', pun_mej_z='%s' WHERE id='%d'", TABLE, g_ammopacks[ id ], g_level[ id ],g_reset_level[ id ],g_id[ id ],g_zombieclassnext[id], g_class_h[id], str_pun_mej_h, str_pun_mej_z); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); }
public cargar_datos( id ) { static szQuery[ 128 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = CARGAR_DATOS; formatex( szQuery, charsmax( szQuery ), "SELECT `id`, `Experiencia`, `lvl`, `reset`, `classz`, `classh`, `pun_mej_h`, `pun_mej_z` FROM %s WHERE Usuario=^"%s^"", TABLE, g_usuario[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); }
// Javivi code:D public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:time ) { static id; id = data[ 0 ]; if( !is_user_connected( id ) ) return PLUGIN_HANDLED static puntosSQL[2][4], p_gastadosSQL[2][4], mejoras_hSQL[5][4], mejoras_zSQL[4][4], Col_pun_mej_h, Col_pun_mej_z switch( failstate ) { case TQUERY_CONNECT_FAILED: { log_to_file( "SQL_LOG_TQ.txt", "Error en la conexion al MySQL [%i]: %s", error2, error ); return PLUGIN_CONTINUE; } case TQUERY_QUERY_FAILED: log_to_file( "SQL_LOG_TQ.txt", "Error en la consulta al MySQL [%i]: %s", error2, error ); } switch( data[ 1 ] ) { case REGISTRAR_USUARIO: { if( !SQL_NumResults( Query ) ) client_cmd( id, "messagemode CREAR_PASSWORD" ); else { client_print( id, print_chat, "%s El usuario ya existe.", TAG ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } } case REGISTRAR_PASSWORD: { if( failstate < TQUERY_SUCCESS ) { if( strfind( error, "Duplicate" ) != -1 ) { if( strfind( error, "Usuario" ) != -1 ) client_print( id, print_chat, "%s El usuario ya existe.", TAG );
else if( strfind( error, "Pj" ) != -1 ) client_print( id, print_chat, "%s El nombre de personaje esta en uso.", TAG ); } else client_print( id, print_chat, "%s Error al crear la cuenta. Intente nuevamente.", TAG ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } else { client_print( id, print_chat, "%s Tu cuenta ha sido creada correctamente.", TAG ); cargar_datos( id ); } } case LOGUEAR_USUARIO: { if( SQL_NumResults( Query ) ) client_cmd( id, "messagemode LOGUEAR_PASSWORD" ); else { client_print( id, print_chat, "%s El usuario no existe.", TAG ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } } case LOGUEAR_PASSWORD: { if( SQL_NumResults( Query ) ) { static szPass[ 33 ]; SQL_ReadResult( Query, 2, szPass, charsmax( szPass ) ); #if defined SECURITY static szBuffer[ 34 ]; md5( szPass, szBuffer ); if( equal( szBuffer, szPass ) ) #else if( equal( g_password[ id ], szPass ) ) #endif { SQL_ReadResult( Query, 3, g_playername[ id ], charsmax( g_playername[ ] ) ); cargar_datos( id ); } else { client_print( id, print_chat, "[Cuenta] Contrasenia incorrecta." ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } } } // Ejemplo de como cargar y guardar datos. case CARGAR_DATOS: { if( SQL_NumResults( Query ) ) { g_id[ id ] = SQL_ReadResult( Query, 0 ); // Cargamos los datos de al columna 'Experiencia' en la variable global g_ammopacks g_ammopacks[ id ] = SQL_ReadResult( Query, 1 ); g_level[ id ] = SQL_ReadResult( Query, 2 ); g_reset_level[ id ] = SQL_ReadResult( Query, 3 ); g_zombieclassnext[id] = SQL_ReadResult( Query, 4 ); g_class_h[id] = SQL_ReadResult( Query, 5 ); SQL_ReadResult(Query, Col_pun_mej_h, str_pun_mej_h, 30) SQL_ReadResult(Query, Col_pun_mej_z, str_pun_mej_z, 30) func_login_success( id ); Col_pun_mej_h = SQL_FieldNameToNum(Query, "pun_mej_h") Col_pun_mej_z = SQL_FieldNameToNum(Query, "pun_mej_z") parse(str_pun_mej_h, puntosSQL[0], 3, p_gastadosSQL[0], 3, mejoras_hSQL[0], 3, mejoras_hSQL[1], 3, mejoras_hSQL[2], 3, mejoras_hSQL[3], 3, mejoras_hSQL[4], 3)
parse(str_pun_mej_z, puntosSQL[1], 3, p_gastadosSQL[1], 3, mejoras_zSQL[0], 3, mejoras_zSQL[1], 3, mejoras_zSQL[2], 3, mejoras_zSQL[3], 3) g_puntos[id][0] = str_to_num(puntosSQL[0]) g_puntos[id][1] = str_to_num(puntosSQL[1]) g_p_gastados[id][0] = str_to_num(p_gastadosSQL[0]) g_p_gastados[id][1] = str_to_num(p_gastadosSQL[1]) new i for(i = 0; i < 5; i++) g_mejoras[id][0][i] = str_to_num(mejoras_hSQL[i]) for(i = 0; i < 4; i++) g_mejoras[id][1][i] = str_to_num(mejoras_zSQL[i]) } else { client_print( id, print_chat, "%s Error al cargar los datos, intente nuevamente.", TAG ); g_estado[id] = OFFLINE; show_login_menu( id ); } } case GUARDAR_DATOS: { if( failstate < TQUERY_SUCCESS ) console_print( id, "%s Error en el guardado de datos.", TAG ); else{ console_print( id, "%s Datos guardados.", TAG ); } } } return PLUGIN_CONTINUE; }
|
Tenes mal hechas las consultas...
Yo vi la primera y nada que ver:
PHP Code:
formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET Experiencia='%d', lvl='%d', reset='%d', classz='%s', classh='%s', pun_mej_h='%s', pun_mej_z='%s' WHERE id='%d'", TABLE, g_ammopacks[ id ], g_level[ id ],g_reset_level[ id ],g_id[ id ],g_zombieclassnext[id], g_class_h[id], str_pun_mej_h, str_pun_mej_z);
Al final pusiste WHERE id='%d', y despues obtiene un string? (str_pun_mej_z) lol.
EDIT: 0 idea de SQL... no lo intentes de esta manera si todavia no sabes ni donde arreglar los codes cuando te dicen el error...
__________________
Last edited by Manu127; 12-06-2012 at 17:04.
|
|