#include #pragma semicolon 1 new Handle:g_hDB = INVALID_HANDLE; public Plugin:myinfo = { name = "Learning MySQL", author = "Headline", description = "Learning MySQL", version = "1.0" }; public OnPluginStart() { decl String:sError[128]; g_hDB = SQL_Connect("storenumber", true, sError, sizeof(sError)); SQL_TQuery(g_hDB, SQLCallback_Void, "CREATE TABLE IF NOT EXISTS `storenumber` ( `number` int(16) NOT NULL , PRIMARY KEY (`number`)) DEFAULT CHARSET=latin1 AUTO_INCREMENT=1", 1); if (g_hDB == INVALID_HANDLE) { PrintToServer("Could not connect to MySQL Server : %s", sError); CloseHandle(g_hDB); } else { PrintToServer("Connection Is Successful!"); } RegAdminCmd("sm_storenumber", Command_StoreNumber, ADMFLAG_SLAY, ""); RegAdminCmd("sm_getnumber", Command_GetNumber, ADMFLAG_SLAY, ""); } public Action:Command_StoreNumber(client, args) { decl String:sArg1[16]; GetCmdArg(1, sArg1, sizeof(sArg1)); new iNumber = StringToInt(sArg1); new String:sQuery[255]; Format(sQuery, sizeof(sQuery), "INSERT INTO storenumber (number) VALUES ('%i')", iNumber); new Handle:hQuery = SQL_Query(g_hDB, sQuery); if(hQuery != INVALID_HANDLE) { ReplyToCommand(client, "Your number %i has been stored!", iNumber); LogToFile("logs/storenumber.txt", "Number %i was stored by %N", iNumber, client); } return Plugin_Handled; } public Action:Command_GetNumber(client, args) { decl String:sQuery[255]; new iNumber; Format(sQuery, sizeof(sQuery), "SELECT number FROM storenumber WHERE number=\"%i\"", iNumber); new Handle:hQuery = SQL_Query(g_hDB, sQuery); iNumber = SQL_FetchInt(hQuery, 1); if(hQuery != INVALID_HANDLE) { ReplyToCommand(client, "Your number is %i!", iNumber); LogToFile("logs/storenumber.txt", "Number %i was retrieved by %N", iNumber, client); } return Plugin_Handled; } public OnPluginEnd() { CloseHandle(g_hDB); } public SQLCallback_Void(Handle:hOwner, Handle:hHndl, const String:sError[], any:iData) { if(hHndl == INVALID_HANDLE) { SetFailState("Error (%i): %s", iData, sError); } }