#include <sourcemod>
#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);
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎