Primo
типа серьёзный тип
- Сообщения
- 1,532
- Реакции
- 759
Есть запрос на подключение к бд, который работает.
Есть запрос на сохранение данных в бд, который тоже работает.
Но, не работает, собственно, запрос данных из бд...
База имеет такой вид:
PHP:
public ConnectBase()
{
if (SQL_CheckConfig("dn_data"))
{
new String:Error[256];
db = SQL_Connect("dn_data", true, Error, sizeof(Error));
if (db == INVALID_HANDLE)
{
LogError("Fail connect: %s", Error);
}
}
else
{
LogError("Database.cfg missing 'dn_data' entry!");
}
SQL_TQuery(db, SQL_DefCallback, "CREATE TABLE IF NOT EXISTS `users` (\
Steam TEXT PRIMARY KEY, \
Nick TEXT, \
Level NUMERIC, \
XP NUMERIC)", 0);
}
Есть запрос на сохранение данных в бд, который тоже работает.
PHP:
public ClientDisconnect(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new String:pName[256];
GetClientAuthString(client, pSteamID, 256, true);
GetClientName(client, pName, 256);
decl String:query[256];
Format(query, sizeof(query), "INSERT OR REPLACE INTO users('Steam', 'Nick', 'Level', 'XP') VALUES ('%s', '%s', %d, %d);", pSteamID, pName, Player[pLevel][client], Player[pXP][client]);
SQL_TQuery(db, SQL_DefCallback, query, 0);
}
Но, не работает, собственно, запрос данных из бд...
PHP:
public OnClientAuthorized(client, const String:auth[])
{
GetClientAuthString(client, pSteamID, 256, true);
if(0 < client <= MaxClients && !IsFakeClient(client))
{
decl String:query[256];
Format(query, sizeof(query), "SELECT * FROM users('Steam', 'Nick', 'Level', 'XP') WHERE 'Steam' = '%s'",pSteamID);
pClient = client;
SQL_TQuery(db, SQL_DefCallback, query, 0);
}
}
PHP:
public SQL_DefCallback(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if (hndl == INVALID_HANDLE) LogError(error);
Player[pLevel][pClient] = SQL_FetchInt(hndl, 3);
Player[pXP][pClient] = SQL_FetchInt(hndl, 4);
}
