Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Zapis sql misji nie dodaje rekordów


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 04.01.2012 17:43

siema otóż mam problem bo plugin nie dodaje mi rekordów do bazy fakt robiłem na szybko bo mało czasu mam zawsze ale może wy coś poradzicie

public client_authorized(id)
{
get_user_name(id, nazwa[id], 64)
WczytajMisje(id)
WczytajDane(id)
}

public client_disconnect(id)
{
ZapiszMisje(id)
ZapiszDane(id)
}

public SqlInit()
{
gTuple = SQL_MakeDbTuple("", "", "", "MisjeDane")

formatex(gQuery, 511, "CREATE TABLE IF NOT EXISTS `MisjeDane` (`nick` VARCHAR(64)")
for(new i=1;i<sizeof zadania;i++)
formatex(gQuery, 511, "%s, `%s` INT(5)", gQuery, zadania[i][5])
formatex(gQuery, 511, "%s)", gQuery)
console_print(0, gQuery)
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery)
formatex(gQuery, 511, "CREATE TABLE IF NOT EXISTS `MisjeGraczy` (`nick` VARCHAR(64), `misja` INT(5), `done` INT(5))")
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery)
}

public StandardHandle(failstate, Handle:query, error[], errnum, data[], size)
{
if(failstate != TQUERY_SUCCESS) {
log_amx("SQL Insert error: %s",error);
return;
}
}

public ZapiszMisje(id)
{
formatex(gQuery, 511, "UPDATE `MisjeGraczy` SET `misja` = %i, `done` = %i WHERE `nick` = ^"%s^"", zadanie_gracza[id], done[id], nazwa[id])
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery)
}

public ZapiszDane(id)
{
formatex(gQuery, 511, "UPDATE `MisjeDane` SET `%s` = %i WHERE `nick` = ^"%s^"", zadania[zadanie_gracza[id]][5], postep[id][zadanie_gracza[id]], nazwa[id])
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery)
}

public WczytajMisje(id)
{
new data[1]; data[0]=id
formatex(gQuery, 511, "SELECT * FROM `MisjeGraczy` WHERE `nick` = ^"%s^"", nazwa[id])
SQL_ThreadQuery(gTuple, "WczytajDaneHandle", gQuery, data)
}

public WczytajMisjeHandle(failstate, Handle:query, error[], errnum, data[], size)
{
new id = data[0]
if(SQL_MoreResults(query))
{
zadanie_gracza[id] = SQL_ReadResult(query, 1);
done[id] = SQL_ReadResult(query, 2);
}
else
{
formatex(gQuery, charsmax(gQuery), "INSERT INTO `MisjeGraczy` (`nick`) VALUES (^"%s^")", nazwa[id]);
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery);
}
}

public WczytajDane(id)
{
new data[1]; data[0]=id
formatex(gQuery, 511, "SELECT `%s` FROM `MisjeDane` WHERE `nick` = ^"%s^"", zadania[zadanie_gracza[id]][5], nazwa[id])
SQL_ThreadQuery(gTuple, "WczytajDaneHandle", gQuery, data)
}

public WczytajDaneHandle(failstate, Handle:query, error[], errnum, data[], size)
{
new id = data[0]
if(SQL_MoreResults(query))
{
postep[id][zadanie_gracza[id]] = SQL_ReadResult(query, zadanie_gracza[id])
}
else
{
formatex(gQuery, charsmax(gQuery), "INSERT INTO `MisjeDane` (`nick`) VALUES (^"%s^")", nazwa[id]);
SQL_ThreadQuery(gTuple, "StandardHandle", gQuery);
}
}


W tabeli MisjeGraczy ma zapisywać w 1 kolumnie nick gracza w 2 misje a w 3 ile ma misji zakończonych
W tabeli MisjeDane ma zapisywaćw 1 kolumnie nick a w reszcie dane do danej misji

PS do tabeli MisjeGraczy dodaje puste rekordy
Do tabeli misjedane nie dodaje rekordów

Błąd mam najprawdopodobniej w insertach dlatego pytam czy trzeba wypełniać wszystkie dane tabeli czy sam nick mogę?

Użytkownik Jak się nazwać edytował ten post 04.01.2012 18:03

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych