Using SQL_UnlockDatabase(g_hDatabase); without SQL_LockDatabase
can crash server?
What do you think about my code?
PHP Code:
public OnClientPostAdminCheck(client)
{
if (IsFakeClient(client)) return;
if (SQLConnect())//Try connect to DB
{
SQL_TQuery(g_hDatabase, T_IgnoreResults, "bla bla");
}
}
public T_IgnoreResults(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if (hndl == INVALID_HANDLE)
{
LogError("Query failed! %s", error);
}
}
bool:SQLConnect()
{
// connect to the database if needed
if (g_hDatabase == INVALID_HANDLE)
{
new Handle:KV = INVALID_HANDLE;
KV=CreateKeyValues("pishpish");
KvSetString(KV,"driver","mysql");
KvSetString(KV,"host","remotehost");
KvSetString(KV,"database","DB");
KvSetString(KV,"user","user");
KvSetString(KV,"pass","pass");
KvSetString(KV,"port","3306");
decl String:error[255];
g_hDatabase = SQL_ConnectCustom(KV,error,sizeof(error),true);
if (g_hDatabase != INVALID_HANDLE)
{
SQL_UnlockDatabase(g_hDatabase);
return true
}
LogMessage("Failed to connect to database, error: %s", error);
return false;
}
else return true;
}