Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Połączenie sie z bazą danych MySQL


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 02.04.2011 16:37

Witam.
Pisze własny plugin, wszystko idzie nawet dobrze ale mam mały problem. Plugin wypluwa mi w logach taki oto błąd po zmianie mapy i nie jest połączony z bazą danych:
Error on Table query: 4<

Podczas pierwszego uruchomienia serwera z pluginem wypluł błąd:
L 03/09/2011 - 16:38:21: Error on Table query: L 03/09/2011 - 16:38:21: Could not connect to SQL database.

Podczas pierwszego połączenia z bazą, baza danych była pusta. Plugin wysyła poprawne zapytanie i tworzy tabele.

Oto okrojony fragment pluginu:
public plugin_init()
{
	[...]

	sql_start();
}

public plugin_end()
{
	SQL_FreeHandle(g_SqlTuple);
}  


public sql_start()
{
	new host[128];
	new user[64];
	new pass[64];
	new database[64];
	
	get_cvar_string("bb_sql_host",host,127);
	get_cvar_string("bb_sql_user",user,63);
	get_cvar_string("bb_sql_pass",pass,63);
	get_cvar_string("bb_sql_database",database,63);
	
	g_SqlTuple = SQL_MakeDbTuple(host,user,pass,database);
	
	new q_Command[512];
	format(q_Command,511,"CREATE TABLE IF NOT EXISTS `bb_player` (`id` int NOT NULL AUTO_INCREMENT, `nick` VARCHAR(32), `steamid` VARCHAR(32), PRIMARY KEY(id))");
	
	SQL_ThreadQuery(g_SqlTuple,"sql_start_handler",q_Command);
}

public sql_start_handler(FailState, Handle:Query, Errcode, Error[], Data[], DataSize)
{
	g_BoolSqlOK=1;

	if(Errcode)
	{
		g_BoolSqlOK=0;
		log_to_file("addons/amxmodx/logs/bb_classmod.log","Error on Table query: %s",Error);
	}
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_to_file("addons/amxmodx/logs/bb_classmod.log","Could not connect to SQL database.");
		g_BoolSqlOK=0;
		return PLUGIN_CONTINUE;
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_to_file("addons/amxmodx/logs/bb_classmod.log","Table Query failed.");
		g_BoolSqlOK=0;
		return PLUGIN_CONTINUE;
	}

	[...(Jeszcze nic nie ma)]

	return PLUGIN_CONTINUE;
}


Edit:

Troszeczkę przemyślałem problem sprawdziłem kilka rzeczy.
Przy włączeniu serwera wyskakuje błąd:
L 03/09/2011 - 16:38:21: Error on Table query: L 03/09/2011 - 16:38:21: Could not connect to SQL database.
Bez względu czy baza danych jest pusta czy nie.

Plugin tworzy tabele w bazie dopiero po zmianie mapy, wczytaniu amxx.cfg. Nie wiem czemu przy uruchomieniu serwer ma wczytany jakiś zły amxx.cfg i server.cfg, ale jest to serwer testowy na Windows. Efekt ten nie występuje na serwerze właściwym, więc nie ma czym się przejmować.

Pozostaje tylko błąd
L 03/09/2011 - 16:38:40: Error on Table query: 4<
Błąd wywala bez względu na to czy baza danych jest pusta czy też nie.
Czyli coś chyba musi być nie tak z zapytaniem do bazy danych.
CREATE TABLE IF NOT EXISTS `bb_player` (`id` int NOT NULL AUTO_INCREMENT, `nick` VARCHAR(32), `steamid` VARCHAR(32), PRIMARY KEY(id))
Proszę o pomoc z tym zapytaniem, ponieważ pierwszy raz mam styczność z bazami danych. Teorie już znam problem mam tylko w budowaniu zapytań.

Dziwi mnie tylko to że to zapytanie tworzy taką tabele jaką chce i potrzebuje, mimo to wywala błąd. "Zabezpieczenia" w sql_start_handler() wykrywają ten błąd przez co plugin nie może "dalej ruszyć". Google nic nie podpowiada na temat tego błędu w zapytaniu.

Proszę o szybką pomoc.

Użytkownik diggs edytował ten post 02.04.2011 17:24

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png





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

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