[Ajuda] MySQL - Dialog nгo aparece e [WARNING] no MySQL.log
#1

Boa Noite, ja estou no SA-MP a um tempo razoбvel porem agora resolvi me aprofundar em algumas questхes, entгo comecei a estudar sobre MySQL, vi alguns videos sobre MySQL no SAMP e ao tentar fazer o meu primeiro projeto bбsico com MySQL me deparado com a GM compilando normal, sem nenhum erro porem os dialogs nгo sгo exibidos e no arquivo mysql.log me deparo com a seguinte informaзгo "[WARNING] CMySQLConnection:isconnect - no connection available", como jб vi um tуpico com o mesmo erro mais sem uma soluзгo vou deixar algumas informaзхes aqui.

O meu problema й o mesmo que foi encontrado pelo JuniorTheDM neste tуpico de Setembro de 2015 (Nгo postei la com receio de estar revivendo o tуpico).

Link da GM que estou usando (new.pwn) upada no pastebin. http://pastebin.com/E19RJkDy


Код:
#define 	SQL_HOSTNAME 		"localhost"
#define 	SQL_USERNAME 		"meusql"
#define 	SQL_DATABASE 		"servidorgta"
#define 	SQL_PASSWORD 		"1234567890"
Код:
#define		DIALOG_REGISTER	1
#define		DIALOG_LOGIN		2
Код:
public OnGameModeInit()
{
	MySQLConection = mysql_connect(SQL_HOSTNAME, SQL_USERNAME, SQL_DATABASE, SQL_PASSWORD);
	
	AddStaticVehicleEx(490,-2036.0996000,-153.0996000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2036.0996000,-166.5000000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2036.1099000,-140.9407000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2036.1000000,-193.1000000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2036.1000000,-206.2000000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2036.1000000,-219.6000000,35.3000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2033.7000000,-232.7000000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(490,-2033.7000000,-245.5000000,35.6000000,90.0000000,241,128,86400); //FBI Rancher
	AddStaticVehicleEx(601,-2033.7000000,-258.4000000,35.6000000,90.0000000,241,128,86400); //S.W.A.T. Van
	AddStaticVehicleEx(601,-2033.7000000,-273.4000000,35.6000000,90.0000000,241,128,86400); //S.W.A.T. Van
	return 1;
}

public OnGameModeExit() 
{
    mysql_close(MySQLConection);
    return 1;
}

public OnPlayerConnect(playerid)
{
	new query[128];
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, MAX_PLAYER_NAME);
	format(query, sizeof(query), "SELECT * FROM 'contas' WHERE 'usuario' = '%s'", name);
	mysql_function_query(MySQLConection, query, true, "q_loginRequest", "d", playerid);
	return 1;
}
forward q_loginRequest(playerid);
public q_loginRequest(playerid)
{
    new rows, fields;
    cache_get_data(rows, fields);
    if(rows)// Usuario Existe
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Bem vindo ao Nacional Roleplay.\n\nVocк jб й registrado em nosso servidor ! Por favor, insira sua senha para logar abaixo.","Login","Sair");
    }
    else// Usuбrio nгo existe
    {
	ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Logar","Bem vindo ao Nacional Roleplay.\n\nVocк nгo estб registrado, por favor, registre-se com uma senha abaixo.","Logar","Sair");
	}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
		case DIALOG_LOGIN: //Usuario existe
		{
			new query[1024];
			new name[MAX_PLAYER_NAME];
			GetPlayerName(playerid, name, MAX_PLAYER_NAME);
			format(query, sizeof(query), "SELECT * FROM 'contas' WHERE 'usuario' = '%s' AND 'senha' = '%s'", name, inputtext);
			mysql_function_query(MySQLConection, query, true, "q_ConfirmarSenha", "d", playerid);
			return 1;
		}
		case DIALOG_REGISTER: //Usuario nгo existe
		{
			if(!response)
			{
				Kick(playerid);
			}
			if(strlen(inputtext) > 2)
			{
			    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Logar","Bem vindo ao Advanced Roleplay.\n\nVocк nгo estб registrado, por favor, registre-se com uma senha abaixo.\n\n{FF0000}Digite uma senha valida.","Logar","Sair");
			}
			else
			{
				new query[1024];
				new name[MAX_PLAYER_NAME];
				format(query, sizeof(query), "INSERT INTO 'contas' (usuario, senha) VALUES ('%s', '%s')", name, inputtext);
				mysql_function_query(MySQLConection, query, false, "", "");
				// Spawnar Player
				SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
				SpawnPlayer(playerid);
			}
		}
	}
	return 1;
}

forward q_ConfirmarSenha(playerid);
public q_ConfirmarSenha(playerid)
{
	new rows, fields;
	cache_get_data(rows, fields);
	f(rows)
	{
		SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
		SpawnPlayer(playerid);
	}
	else
	{
		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login","Bem vindo ao Advanced RolePlay.\n\nVocк jб й registrado em nosso servidor ! Por favor, insira sua senha para logar abaixo.","Login","Sair");
	}
}
Reply
#2

Vocк estб utilizando aspas simples ('') para se referir a campos e tabelas. O correto й usar o acento grave (``).

Ex: SELECT * FROM `contas` WHERE `usuario`= '%s'
Reply
#3

Boa Noite novamente, fiz as atualizaзхes conforme informado, porem continuo me deparando com o mesmo erro.

http://pastebin.com/urhw59T9
Reply
#4

O acento grave й pra se referir a campos, tabelas e afins. Para passar um valor, vocк deve usar as aspas simples.

SELECT * FROM `contas` WHERE `usuario` = '%s'
Reply
#5

Novamente atualizei mais continuo com o erro abaixo
http://pastebin.com/Zc2VQrzi

Код:
[WARNING] CMySQLConnection::Disconnect - no connection available
Reply
#6

As queries estгo corretas. O problema aparentemente й na hora de estacelecer conexгo com o banco de dados.
Reply
#7

Sobre o problema de estar aparecendo os dialogs jб foi resolvido, porem ao conectar ele nгo й executado corretamente criando minha conta no servidor.
Reply
#8

VALUES ('%s', '%s')
Reply
#9

Muito obrigado pela ajuda, consegui fazer funcionar.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)