[Ajuda] Insert nгo funcionando no host (frag.gs)
#1

Alguйm sabe me dizer o que pode ser? Como descobrir o que pode ser?
Acho que o INSERT nгo estб funcionando, esse й o unico que eu uso no GM...
Mas й estranho porque aqui em LOCALHOST estб funcionando...
Carregar / Salvar no host estб funcionando, wtf!
O que eu posso fazer? Preciso resolver, eles sу dгo suporte pra quem paga...

Код:
if(dialogid == DIALOG_REGISTER) {
    if(!response) return Kick(playerid);
    if(response) {
        if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Please enter a valid password!", "Please enter a valid registration password\nTo continue press Register\n\nOxiRegister 1.0\n", "Register", "Quit");
        else {
			new vidainicial = 100;
			new skininicial = 7;
			SetPlayerSkin(playerid, skininicial);
            SHA256_PassHash(inputtext, HASH_SENHA, pInfo[playerid][pSenha], 64);
            GetPlayerIp(playerid, ip, sizeof(ip));
			format(query, sizeof(query), "INSERT INTO `accounts` (`Username`, `Senha`, `IP`, `hp`, `playerlskin`) VALUES ('%s', '%s', '%s', '%i', '%i')"
				, GetName(playerid), pInfo[playerid][pSenha], ip, vidainicial, skininicial);
			mysql_query(ConnectMYSQL,query);
            pInfo[playerid][Registered] = true;
            pInfo[playerid][LoggedIn] = true;
            Logado[playerid] = 1;
			SendClientMessage(playerid, COLOR_GREY, "Conta registrada!");
            cache_get_value_int(0, "UserID", pInfo[playerid][UserID]);
            firstlogin[playerid] = true;
            OnPlayerLogin(playerid);
        }
    }
    return 1;
}
Reply
#2

Muito estranho o carregamento e o salvamento estarem funcionando, mas o registro nгo estб...
Alguйm sabe me dizer o que carai pode ser isso?
Reply
#3

Estб em onplayerconnnect ?
Reply
#4

Coloque para printar o erro da query no console, depois mande-o aqui.
Reply
#5

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Coloque para printar o erro da query no console, depois mande-o aqui.
Me desculpa a burrice, mas como eu faзo isso?
Sу nгo quero fazer errado e acabar atrapalhando vc de me ajudar...
Reply
#6

Код:
if(dialogid == DIALOG_REGISTER) {
    if(!response) return Kick(playerid);
    if(response) {
        if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Please enter a valid password!", "Please enter a valid registration password\nTo continue press Register\n\nOxiRegister 1.0\n", "Register", "Quit");
        else {
			new vidainicial = 100;
			new skininicial = 7;
			SetPlayerSkin(playerid, skininicial);
            SHA256_PassHash(inputtext, HASH_SENHA, pInfo[playerid][pSenha], 64);
            GetPlayerIp(playerid, ip, sizeof(ip));
			format(query, sizeof(query), "INSERT INTO `accounts` (`Username`, `Senha`, `IP`, `hp`, `playerlskin`) VALUES ('%s', '%s', '%s', '%i', '%i')"
				, GetName(playerid), pInfo[playerid][pSenha], ip, vidainicial, skininicial);
			mysql_query(ConnectMYSQL,query);
			printf("Dialog register MySQL error: %d", mysql_errno(ConnectMYSQL));
            pInfo[playerid][Registered] = true;
            pInfo[playerid][LoggedIn] = true;
            Logado[playerid] = 1;
			SendClientMessage(playerid, COLOR_GREY, "Conta registrada!");
            cache_get_value_int(0, "UserID", pInfo[playerid][UserID]);
            firstlogin[playerid] = true;
            OnPlayerLogin(playerid);
        }
    }
    return 1;
}
Reply
#7

tu criou a tabela ? -'
Reply
#8

Quote:
Originally Posted by Naine
Посмотреть сообщение
tu criou a tabela ? -'
Claro nй mano, exportei e importei, se eu nгo tivesse criado vocк acha que estaria carregando e salvando?

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Код:
if(dialogid == DIALOG_REGISTER) {
    if(!response) return Kick(playerid);
    if(response) {
        if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Please enter a valid password!", "Please enter a valid registration password\nTo continue press Register\n\nOxiRegister 1.0\n", "Register", "Quit");
        else {
			new vidainicial = 100;
			new skininicial = 7;
			SetPlayerSkin(playerid, skininicial);
            SHA256_PassHash(inputtext, HASH_SENHA, pInfo[playerid][pSenha], 64);
            GetPlayerIp(playerid, ip, sizeof(ip));
			format(query, sizeof(query), "INSERT INTO `accounts` (`Username`, `Senha`, `IP`, `hp`, `playerlskin`) VALUES ('%s', '%s', '%s', '%i', '%i')"
				, GetName(playerid), pInfo[playerid][pSenha], ip, vidainicial, skininicial);
			mysql_query(ConnectMYSQL,query);
			printf("Dialog register MySQL error: %d", mysql_errno(ConnectMYSQL));
            pInfo[playerid][Registered] = true;
            pInfo[playerid][LoggedIn] = true;
            Logado[playerid] = 1;
			SendClientMessage(playerid, COLOR_GREY, "Conta registrada!");
            cache_get_value_int(0, "UserID", pInfo[playerid][UserID]);
            firstlogin[playerid] = true;
            OnPlayerLogin(playerid);
        }
    }
    return 1;
}
Printou isso no console:
Код:
[21:36:07] [join] Bugreg has joined the server (IP)
[21:36:11] Dialog register MySQL error: 1364
Reply
#9

Cria:
Quote:

public OnQueryError(errorid, error[], callback[], query[], connectionHandle){
printf("-");
printf("[Erro id: %i", errorid);
printf("da callback: %s.", callback);
printf("Query: %s]", query);
printf("-");
return 1;
}

Depois printa o samp-server.
Reply
#10

Quote:
Originally Posted by capron
Посмотреть сообщение
Cria:

Depois printa o samp-server.
Eu troquei o meu para:
Код:
public OnQueryError(errorid, const error[], const callback[], const query[], MySQL:handle) {
	printf("-");
	printf("[Erro id: %i", errorid);
	printf("da callback: %s.", callback);
	printf("Query: %s]", query);
	printf("-");
	return 1;
}
Mas sу printou o que o Rodrigo disse...

================================================== ==================================

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Код:
[21:36:07] [join] Bugreg has joined the server (IP)
[21:36:11] Dialog register MySQL error: 1364
Este erro indica que o restante das colunas nгo contidas no INSERT nгo possuem um valor prй-definido, no localhost vocк deve estar usando uma versгo velha do WampServer, porйm na host jб estб atualizado.

Vocк deve substituir "NOT NULL" e "NULL" por "DEFAULT" (no CREATE TABLE), assim prй-definirб as colunas.

Exemplo:
Код:
CREATE TABLE IF NOT EXISTS contas(ID int AUTO_INCREMENT PRIMARY KEY, Nome varchar(24) NOT NULL, Senha int NOT NULL, Score int(20) DEFAULT 0, Skin int(20) DEFAULT 26, Email varchar(100) DEFAULT 'nenhum@nada.com')
Tudo que nгo vai no INSERT deve conter DEFAULT.
No phpmyadmin eu troquei tudo que nгo tava especificado e coloquei Default em todos que nгo sгo especificados no novo registro, como vc falou que devia ser:

Код:
	if(dialogid == DIALOG_REGISTER) {
	    if(!response) return Kick(playerid);
	    if(response) {
	        if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Please enter a valid password!", "Please enter a valid registration password\nTo continue press Register\n\nOxiRegister 1.0\n", "Register", "Quit");
	        else {
	            SHA256_PassHash(inputtext, HASH_SENHA, pInfo[playerid][pSenha], 64);
	            GetPlayerIp(playerid, ip, sizeof(ip));
				format(query, sizeof(query), "INSERT INTO `accounts` (`Username`, `Senha`, `IP`) VALUES ('%e', '%s', '%s')"
					, GetName(playerid), pInfo[playerid][pSenha], ip);
				mysql_query(ConnectMYSQL,query);
				printf("Dialog register MySQL error: %d", mysql_errno(ConnectMYSQL));
	            pInfo[playerid][Registered] = true;
	            pInfo[playerid][LoggedIn] = true;
	            Logado[playerid] = 1;
				SendClientMessage(playerid, COLOR_GREY, "Registered account!");
	            cache_get_value_int(0, "UserID", pInfo[playerid][UserID]);
	            firstlogin[playerid] = true;
	            OnPlayerLogin(playerid);
	        }
	    }
	    return 1;
	}
(ah e pesquisando na net troquei username pra em vez de %s pra %e, vi que assim ficaria mais seguro anti sql injection, entгo fiz o recomendado)

Porйm agora estб aparecendo um novo erro:
Код:
[09:35:22] [join] Bugregistro has joined the server (IP)
[09:35:31] Dialog register MySQL error: 1406
[09:35:55] [part] Bugregistro has left the server (0:1)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)