Coneccion MySql
#1

Bueno, nose que pasa que mi server no se conecta con la base de datos MySql, nose que hize mal, los script creo que estan bien.

pawn Код:
//MySql
#define MySQL_Servidor "localhost" // bueno aca lo dejo asi creo
#define MySQL_Usuario "root" //Aca que se pone? la Conexion remota ?
#define MySQL_BD "Aca el nombre de mi base de datos"
#define MySQL_Clave "aca la clave de la base de datos"

ShowMainMenuDialog(playerid, frame)
{
    new titlestring[28];
    new string[256];
    new pName[24], Query[256]; GetPlayerName(playerid, pName, 24);
    InsideMainMenu[playerid] = true;
    switch(frame)
    {
        case LOGIN:
        {
            INI_ParseFile(UserPath(playerid), "LoadUser_pass", .bExtra = true, .extra = playerid);
            format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE `Nombre` = '%s'", pName);
            mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 1, playerid);
            new ip[32];
            GetPlayerIp(playerid, ip, 32);
            format(titlestring, sizeof(titlestring), "{C0C0C0}Cuenta Registrada");
            format(string, sizeof(string), "{8080FF}Contraseсa:");
            SafeDialogEx(playerid,DLOGIN,DIALOG_STYLE_PASSWORD ,titlestring,string,"Entrar","Salir");
            SetPlayerVirtualWorld(playerid, 20);
        }
        case REGISTRO:
        {
            new ip[32];
            GetPlayerIp(playerid, ip, 32);
            format(titlestring, sizeof(titlestring), "{C0C0C0}Cuenta Nueva");
            format(string, sizeof(string), "{8080FF}Contraseсa:");
            SafeDialogEx(playerid,DREGISTER,DIALOG_STYLE_INPUT ,titlestring,string,"Registrar","Salir");
            SetPlayerVirtualWorld(playerid, 20);
            format(Query, sizeof(Query), "INSERT INTO `usuarios` (Nombre, Contraseсa) VALUES ('%s', '%s')",pName, Info[playerid][pKey]);
            mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
        }
    }
}
public OnGameModeInit()
{
printf("Iniciando conexiуn MySQL: (Servidor: '%s', Usuario: '%s', Clave: '%s', Base de Datos: '%s')", MySQL_Servidor, MySQL_Usuario, MySQL_Clave, MySQL_BD);
    Conecction = mysql_connect(MySQL_Servidor, MySQL_Usuario, MySQL_BD,MySQL_Clave);
    if(mysql_ping() == 1) //Comprobamos si se conectу
    {
        printf("Conexiуn a la base de datos realizada correctamente.");
    }
    else //Caso contrario:
    {
        print("Conexiуn a la base de datos no realizada.");
        mysql_close(); //Cerramos la conexiуn
        SendRconCommand("exit"); //Cerramos la consola para evitar bug's
    }
return 1;
}

public OnQueryError(errorid, error[], callback[], query[], connectionHandle )
{
  printf("[ERROR] ID: %d - Error: %s - Callback - %s - Query: %s", errorid, error, callback, query); //Imprimimos el mensaje en la consola
    return 1;
}

forward CheckPlayer(playerid);
public CheckPlayer(playerid)
{
    new pName[24], Query[256];
    GetPlayerName(playerid, pName, 24);
    format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE Nombre='%s'", pName);
    mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii",2, playerid);
    return 1;
}

forward OnQueryFinish(resultid, extraid, ConnectionHandle);
public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
    new Rows, Field, string[256];
    if(resultid != 0)
    {
        cache_get_data(Rows, Field);
    }
    switch(resultid)
    {
        case 1:
        {
            if(Rows == 1)
            {
                new content[8];
                cache_get_field_content(0, "Contraseсa", content); Info[extraid][pKey] = strval(content);
                cache_get_field_content(0, "Admin", content); Info[extraid][pAdminZC] = strval(content);
                cache_get_field_content(0, "Score", content); Info[extraid][pLevel] = strval(content);
                cache_get_field_content(0, "Vida", content); Info[extraid][pHealth] = floatstr(content);
                cache_get_field_content(0, "Chaleco", content); Info[extraid][pArmour] = floatstr(content);
                cache_get_field_content(0, "Posx", content); Info[extraid][pPos_x] = floatstr(content);
                cache_get_field_content(0, "Posy", content); Info[extraid][pPos_y] = floatstr(content);
                cache_get_field_content(0, "Posz", content); Info[extraid][pPos_z] = floatstr(content);
            }
            else if(!Rows)
            {
               //
            }
        }
        case 2:
        {
            if(Rows == 1)
            {
                new pName[24]; GetPlayerName(extraid, pName, 24);
                cache_get_field_content(0, "Contraseсa", Info[extraid][pKey]);
                format(string, sizeof(string), "El personaje %s estб registrado en la base de datos. Pon los datos para iniciar sesiуn:", pName);
                ShowPlayerDialog(extraid, LOGIN, DIALOG_STYLE_PASSWORD,"Login",string,"Enviar","Salir");
            }
            else if(!Rows)
            {
                new pName[24]; GetPlayerName(extraid, pName, 24);
                format(string, sizeof(string), "El jugador %s no estб registrado en el servidor, pon aquн la contraseсa para registrarlo:", pName);
                ShowPlayerDialog(extraid, REGISTRO, DIALOG_STYLE_PASSWORD,"Registro:",string,"Enviar","Salir");
            }
        }
    }
    return 1;
}

forward SaveAccounts(playerid);public SaveAccounts(playerid)
{
    new query[200];GetPlayerPos(playerid, Info[playerid][pPos_x], Info[playerid][pPos_y], Info[playerid][pPos_z]);
    new pName[24]; GetPlayerName(playerid, pName, 24); GetPlayerHealth(playerid, Info[playerid][pHealth]), GetPlayerArmour(playerid, Info[playerid][pArmour]);
    format(query, 200, "UPDATE `usuarios` SET `Vida`='%f', `Chaleco`='%f', `Admin`='%d', `Score`='%d', `Posx`='%f', `Posy`='%f', `Posz`='%f' WHERE `Nombre`='%s'", Info[playerid][pHealth], Info[playerid][pArmour],
    Info[playerid][pAdminZC], Info[playerid][pLevel], Info[playerid][pPos_x], Info[playerid][pPos_y], Info[playerid][pPos_z], pName);
    mysql_function_query(Conecction, query, true, "OnQueryFinish", "ii", 0, playerid);
    return 1;
}
Estos son todos los lugares en donde uso mysql, en donde estarб el error? :/ o capas que me falte algun plugin, uso el mysql.so

Una foto de la tabla creada en la base de datos

Reply
#2

Conexiуn por MySQL

pawn Код:
#define MySQL_Servidor "localhost" // bueno aca lo dejo asi creo
#define MySQL_Usuario "root" //Aca que se pone? la Conexion remota ?
#define MySQL_BD "Aca el nombre de mi base de datos"
#define MySQL_Clave "aca la clave de la base de datos"
Muestra como llenas en verdad esos datos, (menos la clave)
Reply
#3

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
Conexiуn por MySQL

pawn Код:
#define MySQL_Servidor "localhost" // bueno aca lo dejo asi creo
#define MySQL_Usuario "root" //Aca que se pone? la Conexion remota ?
#define MySQL_BD "Aca el nombre de mi base de datos"
#define MySQL_Clave "aca la clave de la base de datos"
Muestra como llenas en verdad esos datos, (menos la clave)
pawn Код:
#define MySQL_Servidor "localhost"
#define MySQL_Usuario "root"
#define MySQL_BD "Jejox_15947"
#define MySQL_Clave ""
Reply
#4

Quote:
Originally Posted by Jejox
Посмотреть сообщение
pawn Код:
#define MySQL_Servidor "localhost"
#define MySQL_Usuario "root"
#define MySQL_BD "Jejox_15947"
#define MySQL_Clave ""
mmm pasame el log de mysql y viendo el nombre de la base de datos tu usuario tendrнa que ser algo como Jerox_qcyo
Y en la consola cuando lo prendes no te saliу: Conexiуn a la base de datos realizada correctamente o Conexiуn a la base de datos no realizada. ?
Reply
#5

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
mmm pasame el log de mysql y viendo el nombre de la base de datos tu usuario tendrнa que ser algo como Jerox_qcyo
Y en la consola cuando lo prendes no te saliу: Conexiуn a la base de datos realizada correctamente o Conexiуn a la base de datos no realizada. ?
En donde sale el log de mysql?

Mira le saque una foto a la consola, despues de eso se borra todo y dice MySql uploade o algo asi, y se cierra el server

Reply
#6

Quote:
Originally Posted by Jejox
Посмотреть сообщение
En donde sale el log de mysql?

Mira le saque una foto a la consola, despues de eso se borra todo y dice MySql uploade o algo asi, y se cierra el server

No tienes acceso a la base de datos, verifica los datos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)