PHP Code:
new const g_sqlTable[] = "DataTable";
new const g_DataBase[] = "DataBase_test";
public plugin_init()
{
...
sql_init();
...
}
sql_init()
{
SQL_SetAffinity("mysql");
g_SqlTuple = SQL_MakeDbTuple("???.???.???.???", "xxxx", "zzzz", g_DataBase);
new Sql_Cache[400];
formatex(Sql_Cache, charsmax(Sql_Cache), "CREATE TABLE `%s` \
(`Index` INTEGER(20) AUTO_INCREMENT PRIMARY KEY , \
`Conta` VARCHAR( 64 ) NOT NULL , \
`Senha` VARCHAR( 64 ) NOT NULL , \
`AmmoPacks` INT( 20 ) NOT NULL DEFAULT '0' , \
`Blocked` INT( 20 ) NOT NULL DEFAULT '0' )", g_sqlTable);
SQL_ThreadQuery(g_SqlTuple, "handle_create_table", Sql_Cache);
}
public handle_create_table(FailState, Handle:Query,Error[], Errcode, Data[], DataSize)
{
new fail_msg[300];
if(Error[0] && Errcode != 1050)
{
formatex(fail_msg, charsmax(fail_msg), "MySQL Error: %s (%d)", Error, Errcode);
set_fail_state(fail_msg);
return;
}
new errcode, error[100];
g_SqlCon = SQL_Connect(g_SqlTuple, errcode, error, charsmax(error));
if(error[0])
{
formatex(fail_msg, charsmax(fail_msg), "MySQL Error: %s (%d)", error, errcode);
set_fail_state(fail_msg);
return;
}
if(Errcode == 1050)
return;
else
{
SQL_FreeHandle(Query);
Query = SQL_PrepareQuery(g_SqlCon, "INSERT INTO `%s` ( `Index` , `Conta` , `Senha` , `Blocked` ) VALUES ( 1 , 'null' , %d , 1 )", g_sqlTable, get_gametime());
SQL_Execute(Query);
SQL_QueryError(Query, error, 99);
SQL_FreeHandle(Query);
if(error[0])
server_print("SQL Error: %s (%d)", error, errcode);
}
}
[EN]
Obs: Most of my queries and I do using SQL_PrepareQuery and SQL_Execute.
[BP]
Obs: A maioria das minhas consultas eu faço utilizando SQL_PrepareQuery e SQL_Execute.