No crea cuentas en la db
#1

Hola, bien sucede que estaba ya en el proceso de pasar mi modo de juego a mysql, y pues ahora el problema es que no crea cuentas en la db. Osea entras te muestra los dialogs te registras toda la cosa te guarda la cuenta y en el samp server sale que si la creo. Pero apenas relogueas te pide que te registres de nuevo


dejare las funciones!


Funciуn para sacar el nombre la tengo como 'Marihuana' :v ignoren el nombre no tenia nada mas que ponerle xD


Код:

stock Marihuana(playerid){
new nombre[32];
GetPlayerName(playerid,nombre, 32);
return nombre;
}

Funciуn de crear la cuenta:



Код:
public CrearCuenta(playerid)
{
new query[2000],aviso[125];
mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Nombre`, `pKey`, `pSkin`, `pPos_x`, `pPos_y`, `pPos_z`, `pGenero`,`pOrigen`,`pEmail`, `pHealth`, `pCash`) VALUES ('%s','%s','%i','1484.1082', '-1668.4976', '14.9159','%i','100','100000')",
Marihuana(playerid),
Info[playerid][pKey],
Info[playerid][pSkin],
Info[playerid][pGenero],
Info[playerid][pOrigen],
Info[playerid][pEmail]);
mysql_query(MySQL, query);
EnviarMensaje(playerid,GAMER_COLOR,"ЎFelicitaciones! Registro completo.");
EnviarMensaje(playerid,-1,"Has completado el resgistro, bienvenido a el servidor, disfruta tu estadia.");
EnviarMensaje(playerid,-1, "Has recibido una bonificacion extra en tu cuenta por estar en nuestro comienzo.");
format(aviso,sizeof(aviso),"Cuenta creada: %s - Edad: %d - Genero: %d", Marihuana(playerid), Info[playerid][pEdad], Info[playerid][pGenero]);
print(aviso);
return 1;
}
Cosa que tengo en onplayerconnect para que "checkee"


Код:
new query[2000],nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, sizeof(nombre));
mysql_format(MySQL, query, sizeof(query), "SELECT * FROM `cuentas` WHERE `Nombre`='%s'", nombre);
mysql_pquery(MySQL, query, "VerificarUsuario","d", playerid);
Funciуn 'VerificarUsuario':


Код:
public VerificarUsuario(playerid)
{
new Rows;
Rows = cache_get_row_count();
if(!Rows)
{
CamaraInicio(playerid);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Bienvenido\n\nIngrese una contraseсa para registrarse.", "Registrar", "Cancelar");
}
else
{
CamaraInicio(playerid);
ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_INPUT, "Ingreso", "Bienvenido\n\nIngrese su contraseсa para ingresar.", "Continuar", "Cancelar");
}
return 1;
}
Porfavor si me pueden ayudar es de urgencia, muchas gracias!!
Reply
#2

Debes tener un " `Nombre`, `pKey` " u otro con mayъscula o algo diferente, fнjate bien de mirar eso, respecto al new query[2000]; creo que has puesto mucho, si quieres que te ayudemos, pasa el cуdigo completo del registro, no solo puede ser ahi, si no en las otras partes tambiйn.
Reply
#3

Quote:
Originally Posted by BrianFaria
Посмотреть сообщение
Debes tener un " `Nombre`, `pKey` " u otro con mayъscula o algo diferente, fнjate bien de mirar eso, respecto al new query[2000]; creo que has puesto mucho, si quieres que te ayudemos, pasa el cуdigo completo del registro, no solo puede ser ahi, si no en las otras partes tambiйn.
No, en la db esta tal cual el gm eso del 'pKey' y el 'Nombre'.

Toma te paso los unicos 3 dialogs que tengo en registro





Код:
case DIALOG_INFO:
{
if(response == 1)
{
CrearCuenta(playerid);
}
}

	case DIALOG_REGISTRO:
	{
        if(response)
		{
		new contra[24];
		EnviarMensaje(playerid, GAMER_COLOR, "ЎBien!{ffffff} Continuemos con el registro.");
		ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Listoc", "Ya te registrahte amigoh", "Obvio", "");
		format(contra,sizeof(contra),"%s",inputtext);
		Info[playerid][pKey] = contra;
		}
		else
		{
		Kick(playerid);
		}
    }


	case DIALOG_INGRESO:
	{
        if(response)
		{
		new query[2000];
		mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `cuentas` WHERE `Nombre`='%s' AND `Contra`='%s'",Marihuana(playerid),inputtext);
		mysql_pquery(MySQL, query, "IngresoJugador","d", playerid);
		}
		else
		{
		Kick(playerid);
		}
	}
Gracias por responder, espero ayuda. Dejare el mysql-log por si es necesario


Код:
[19:14:08] [ERROR] CMySQLQuery::Execute - (error #1054) Unknown column 'Nombre' in 'where clause'
[19:14:08] [ERROR] CMySQLQuery::Execute - (error #1054) Unknown column 'Nombre' in 'where clause'
PSDT: Uso dos tablas para guardar las cuentas; una como 'cuentas' y la otra como 'cuentas2', igualmente en ambas tengo creada la columna 'Nombre'

PSDT2: Estan creadas en las tablas en tipo VarChar con 24 de valor (las columnas de 'Nombre')
Reply
#4

"/revivir post"
Reply
#5

/revivir post x2
Reply
#6

Te dice claro el error.

Unknown column 'Nombre' in 'where clause'

No tienes definido Nombre o puede que lo tengas en mayъsculas.

Ademбs. fнjate que en:

pawn Код:
mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Nombre`, `pKey`, `pSkin`, `pPos_x`, `pPos_y`, `pPos_z`, `pGenero`,`pOrigen`,`pEmail`, `pHealth`, `pCash`) VALUES ('%s','%s','%i','1484.1082', '-1668.4976', '14.9159','%i','100','100000')",
Defines 11 variables pero solo hay 9 valores.

Tambiйn podrнas aсadir:

pawn Код:
printf("%s", MySQL);
Para poder verificar que sean los datos correctos.
Reply
#7

Ya vi el error, has puesto algunas cosas ya creadas, o sea, їquй? ademбs tambiйn por esto no te las deja crear.

Код:
mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Nombre`, `pKey`, `pSkin`, `pPos_x`, `pPos_y`, `pPos_z`, `pGenero`,`pOrigen`,`pEmail`, `pHealth`, `pCash`) VALUES ('%s','%s','%i','1484.1082', '-1668.4976', '14.9159','%i','100','100000')"
Revisa bien las mayъsculas.
Reply
#8

Quote:
Originally Posted by Tirael
Посмотреть сообщение
Te dice claro el error.

Unknown column 'Nombre' in 'where clause'

No tienes definido Nombre o puede que lo tengas en mayъsculas.

Ademбs. fнjate que en:

pawn Код:
mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Nombre`, `pKey`, `pSkin`, `pPos_x`, `pPos_y`, `pPos_z`, `pGenero`,`pOrigen`,`pEmail`, `pHealth`, `pCash`) VALUES ('%s','%s','%i','1484.1082', '-1668.4976', '14.9159','%i','100','100000')",
Defines 11 variables pero solo hay 9 valores.

Tambiйn podrнas aсadir:

pawn Код:
printf("%s", MySQL);
Para poder verificar que sean los datos correctos.
El nombre si lo tengo definido, mira







Ya hice lo de las variables y sigue igual

Quote:
Originally Posted by BrianFaria
Посмотреть сообщение
Ya vi el error, has puesto algunas cosas ya creadas, o sea, їquй? ademбs tambiйn por esto no te las deja crear.

Код:
mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Nombre`, `pKey`, `pSkin`, `pPos_x`, `pPos_y`, `pPos_z`, `pGenero`,`pOrigen`,`pEmail`, `pHealth`, `pCash`) VALUES ('%s','%s','%i','1484.1082', '-1668.4976', '14.9159','%i','100','100000')"
Revisa bien las mayъsculas.
No entiendo lo de las cosas ya creadas , y ya mostre imagenes en este mismo comentario de que 'Nombre' esta definido en la tabla de 'cuentas' y 'cuentas2'


Aiudaaaa! :c
Reply
#9

/revivir post
Reply
#10

La columna Nombre es varchar con una longitud de 24 caracteres no? Si es asн pasa el log de mysql

checa el dialog Login

Quote:

case DIALOG_INGRESO:
{
if(response)
{
new query[2000];
mysql_format(MySQL,query,sizeof(query),"SELECT * FROM `cuentas` WHERE `Nombre`='%s' AND `Contra`='%s'",Marihuana(playerid),inputtext);
mysql_pquery(MySQL, query, "IngresoJugador","d", playerid);
}
else
{
Kick(playerid);
}
}

De donde sacas el nombre formateado?

їEsta funcion te dб el nombre de usuario? "Marihuana(playerid)"

Edit: no vн el stock

PHP код:
stock Marihuana(playerid){
new 
nombre[32];
GetPlayerName(playerid,nombre32);
return 
nombre;

Disminuye la cantidad de caracteres acб "Nombre[32]" por "Nombre[24]" al igual que GetPlayerName(); Recuerda que MAX_PLAYER_NAME estб definido en 24
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)