[Ayuda] Asignar valores a variables del gm (MySQL)
#1

Hola.

Pues en mi gm ya tengo lo que es la creacion de las tablas y todo me funciona bien, ahora,
quiero saber como se hace para saber si un nick ya esta escrito en la tabla.

Tengo algo como esto:
pawn Код:
new User[MAX_PLAYERS],zString[256];
            format(zString, sizeof(zString), "SELECT NombreUser FROM %s", SQL_TABLEUSER);
            //strmid(User[playerid], inputtext, 0, strlen(inputtext), 255);
            new result = mysql_query(zString);
            mysql_fetch_field(result, User[playerid]);
            if(strcmp(User[playerid], inputtext, true) == 0)
            {
                ShowPlayerDialog(playerid, Dialog_Ingresar, DIALOG_STYLE_INPUT, "{FF9D00} Bienvenido De Nuevo ",
                "Hola, que gusto que estes de vuelta.\n\nPara ingresar al servidor, primero tienes que decirnos el nombre de la cuenta\n\
                a la que quieres ingresar. Por favor, Ingresa el nombre de tu cuenta en el siguiente espacio.\n\n{ff0000}El Nombre SI Existe"
,
                "Siguiente", "Volver");
            }
            else
            {
                ShowPlayerDialog(playerid, Dialog_Ingresar, DIALOG_STYLE_INPUT, "{FF9D00} Bienvenido De Nuevo ",
                "Hola, que gusto que estes de vuelta.\n\nPara ingresar al servidor, primero tienes que decirnos el nombre de la cuenta\n\
                a la que quieres ingresar. Por favor, Ingresa el nombre de tu cuenta en el siguiente espacio.\n\n{ff0000}El Nombre no Existe"
,
                "Siguiente", "Volver");
                return 1;
            }
Lo probe pero no pasa nada
Reply
#2

Y si lees sobre como funciona MySQL y sobre las funciones del plugin?
Reply
#3

Gracias por tu comentario, ya lei y resolvi. Ahora tengo un nuevo problema. Edito el tema!.
Reply
#4

pawn Код:
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, sizeof(nombre));
format(string, sizeof(string), "SELECT * FROM tabla WHERE campo_nombre = '%s'", nombre);
mysql_query(string);
mysql_store_result();
if(!mysql_num_rows())
{
    // No existe cuenta.
}
else if(mysql_num_rows())
{
    // Existe cuenta.
}
Reply
#5

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
pawn Код:
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, sizeof(nombre));
format(string, sizeof(string), "SELECT * FROM tabla WHERE campo_nombre = '%s'", nombre);
mysql_query(string);
mysql_store_result();
if(!mysql_num_rows())
{
    // No existe cuenta.
}
else if(mysql_num_rows())
{
    // Existe cuenta.
}
no hace falta else if, con un else alcanza.
Reply
#6

Lo se, pero siempre pongo. Porque en cуdigos largos si pongo sуlo else me confundo a cual if pertenece ( al mirarlo rбpido ) xD Salvo que sea necesario si o si else, uso else if. Sуlo por comodidad xD
Reply
#7

Podes hacerlo asi
pawn Код:
stock CheckUser(playername[])
{
    mysql_real_escape_string(playername,playername);
   
    new query[strlen(playername)+30];
    format(query,sizeof(query),"SELECT ColumnaNombre FROM Tabla WHERE ColumnaNombre = '%s' LIMIT 1",playername);
    mysql_query(query);

    mysql_store_result();
    if(mysql_num_rows())
    {
        mysql_free_result();
        return 1;
    }
    mysql_free_result();
    return 0;
}
Reply
#8

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Lo se, pero siempre pongo. Porque en cуdigos largos si pongo sуlo else me confundo a cual if pertenece ( al mirarlo rбpido ) xD Salvo que sea necesario si o si else, uso else if. Sуlo por comodidad xD
pero de esa forma obligas a realizar un chequeo aveces innecesario.
Reply
#9

No lo sabнa, va, no lo habнa pensado de ese modo. Gracias, voy a acostumbrarme sуlo con el else xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)