|
Senior Member
Join Date: Jul 2005
Location: [GER]Worbis
|

08-12-2010
, 13:58
[SQL] result help
|
#1
|
I have a problem with my script.
This script put mapnames in my Mysql-Database. The Problem is, comes the map again, the script write the map in the Database again -.-
PHP Code:
#include <amxmodx> #include <amxmisc> #include <sqlx>
#define PLUGIN "Web_mapnames" #define AUTHOR "by me" #define VERSION "1.0 beta"
new Handle:DB_TUPLE new error[512] new error_code new Handle:DB_CONNECT
public plugin_cfg() { server_cmd("make_map") }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_srvcmd( "make_map", "selectfrom_map_table" ) register_cvar( "js_db_host", "xxx" ) register_cvar( "js_db_user", "xxx" ) register_cvar( "js_db_pass", "xxx" ) register_cvar( "js_db_name", "xxx" ) static host[32], user[32], pass[32], name[32] get_cvar_string( "js_db_host", host, 31 ) get_cvar_string( "js_db_user", user, 31 ) get_cvar_string( "js_db_pass", pass, 31 ) get_cvar_string( "js_db_name", name, 31 ) DB_TUPLE=SQL_MakeDbTuple(host,user,pass,name) DB_CONNECT=SQL_Connect(DB_TUPLE, error_code, error, 516); if(DB_CONNECT == Empty_Handle) set_fail_state(error) new query[1024] formatex( query, 1023, "create table if not exists map_names (map varchar(32))", mapname) SQL_ThreadQuery( DB_TUPLE, "db_generic_handler", query ) }
public selectfrom_map_table() { new query[34] formatex( query, 33, "SELECT * FROM map_names") SQL_ThreadQuery( DB_TUPLE, "map_handler", query ) }
public map_handler(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) { if(!SQL_MoreResults(query)) { new query[34] get_mapname(mapname, 32) formatex( query, 33, "INSERT INTO `map_names` VALUES ('%s')", mapname ) SQL_ThreadQuery(DB_TUPLE,"db_save_handler",query) } else { log_amx("[MAPHANDLER] %s schon vorhanden!", mapname) } }
public db_generic_handler(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) { return query_failed( failstate, error, errnum ) }
public db_save_handler( failstate, Handle:query, error[], errnum, data[], size, Float:queuetime ) { return query_failed( failstate, error, errnum ) }
public query_failed( failstate, error[], errnum ) { if( failstate == TQUERY_CONNECT_FAILED ) { log_amx( "Couldn't connect to database: %s", error ) return 1 } else if( failstate == TQUERY_QUERY_FAILED ) { log_amx( "Query failed: %s", error ) return 1 } if( errnum ) { log_amx( "Query Error: %s", error ) return 1 } return 0 }
public plugin_end() { SQL_FreeHandle(DB_TUPLE) }
Last edited by Mulan; 08-12-2010 at 14:18.
|
|