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

Sprawdzenie czy jest w bazie


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 karololo

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 25.03.2012 17:04

Witam,
Czy kod jest prawidłowy? Chcę aby sprawdzał czy nasze steamid jest w bazie, jeśli jest robi x, jeśli nie to y.

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#define PLUGIN "Sql"
#define VERSION "1.0"
#define AUTHOR "Ja"
new Handle:g_SqlHandle
new g_Query[512]
new g_Host[] = x
new g_User[] = x
new g_Pass[] = x
new g_Db[] = x

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(1.0,"sql_init")
}
public sql_init() {
g_SqlHandle = SQL_MakeDbTuple(g_Host,g_User,g_Pass,g_Db)

return PLUGIN_HANDLED
}
public client_putinserver(id) {
new authid[36]
new Data[1]
Data[0] = id

get_user_authid(id,authid,35)

format(g_Query,511,"SELECT * FROM `x` WHERE `steamid` = '%s'",authid)
SQL_ThreadQuery(g_SqlHandle,"register_client",g_Query,Data,1)

return PLUGIN_HANDLED
}
public register_client(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
new id
id = Data[0]
new authid[36]

get_user_authid(id,authid,35)

if(SQL_NumResults(Query) < 1) {
//nie ma jeszcze naszego steamid w bazie
} else {
//nasze steamid jest juz w bazie
}
return PLUGIN_HANDLED
}
public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
SQL_FreeHandle(Query)

return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 25.03.2012 17:27

Powinno zadziałać, możesz też zrobić tak :
	if(SQL_NumRows(Query))
	{
		//Jest !
	} 
	else
	{
		//Dodaj
	}

  • +
  • -
  • 0

If you can dream it, you can do it.


#3 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 25.03.2012 17:41

Nie wiem czemu, ale wyświetla, że jest chociaż w bazie nie ma ;/
Nie dodaje również do bazy,

format(g_Query,511,"INSERT INTO `x` (`id`, `steamid`) VALUES ('', '%s')", authid)
SQL_ThreadQuery(g_SqlHandle,"IgnoreHandle",g_Query)

Użytkownik Poprostu Maniac edytował ten post 25.03.2012 17:41

  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.03.2012 18:52

nie widzę tworzenia tabeli

if( !SQL_MoreResults( Query ) ) {
  //nie ma jeszcze naszego steamid w bazie
} else { 
  //nasze steamid jest juz w bazie
}

  • +
  • -
  • 0

#5 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 26.03.2012 14:47

Dalej wykonuje to, że steamid jest już w bazie, pomino tego, że tak naprawdę go tam nie ma.
Bazę oczywiście mam, ale utworzoną ręcznie. Jakieś pomysły?

@Edit
Właśnie kolega mi napisał, że hosting z którego korzystamy przeprowadza tzw. "przenosiny" więc IP się zmieniło i stąd te 'problemy'. ;)

Użytkownik Poprostu Maniac edytował ten post 26.03.2012 15:08

  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.03.2012 15:01

Dalej wykonuje to, że steamid jest już w bazie, pomino tego, że tak naprawdę go tam nie ma.

nie możliwe pokaż screen bazy sprawdź logi
  • +
  • -
  • 0

#7 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 26.03.2012 15:16

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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