MYSQL ERROR
#1

Errors
pawn Код:
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(75) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(102) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(107) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(321) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(379) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(396) : error 017: undefined symbol "mysql_query"
C:\Users\Ultra-Gaming\Desktop\Server\gamemodes\test.pwn(405) : error 017: undefined symbol "mysql_query"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.
Code
pawn Код:
#define FILTERSCRIPT
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
//========================= [MySQL Database Settings] ==========================

#define mysql_host                                              " "//the IP of the host, should be displayed when created a database
#define mysql_user                                              " "//database username
#define mysql_password                                          " "//database password
#define mysql_database                                          " "//database name
//========================= [MySQL Database Settings] ==========================

//============================ [Colors] ========================================
#define white                                                         0xFFFFFFFF
#define blue                                                          0x0073FFFF
#define liblue                                                        0x00FFFFFF
#define green                                                         0x00E228FF
#define ligreen                                                       0x00FF28FF
#define green2                                                        0x9BFF00FF
#define limegreen                                                     0x00FF96FF
#define pink                                                          0xFFAFD7FF
#define purple                                                        0xDB00AFFF
#define yellow                                                        0xF5FF00FF
#define orange                                                        0xFFA000FF
#define red                                                           0xFF0000FF
//============================ [Colors] ========================================


//============================ [Hex] ===========================================
#define cwhite                                                        "{FFFFFF}"
#define cblue                                                         "{00B9FF}"
#define cliblue                                                       "{00FFFA}"
#define cgreen                                                        "{05E200}"
#define cligreen                                                      "{05FF00}"
#define cgreen2                                                       "{A5FF00}"
#define cpink                                                         "{FFA4C3}"
#define cpurple                                                       "{E500C3}"
#define cyellow                                                       "{FFFA00}"
#define cyellow2                                                      "{FFFF11}"
#define corange                                                       "{FF9600}"
#define cred                                                          "{FF0000}"
//============================ [Hex] ===========================================

#define Logindialog                                                            1
#define Regdialog                                                              2
#define Reginfo                                                                3

new Query[450];


enum PlayerData
{
    AccID,
    Username[24],
    Password[129],
    Ip[16],
    Money,
    Score,
    Kills,
    Deaths,
    Logged,
    FailedLogins,
    FirstSpawn
};
native WP_Hash(buffer[], len, const str[]);
new pData[MAX_PLAYERS][PlayerData];

public OnGameModeInit()
{
    mysql_debug(1);
    print("\n************************************");
    print("");
    print("************************************\n");
    mysql_connect(mysql_host,mysql_user,mysql_database,mysql_password);
    mysql_query(
              "CREATE TABLE IF NOT EXISTS `Accounts` ("\
              "`AccID` int(10) NOT NULL AUTO_INCREMENT,"\
              "`Username` varchar(24) NOT NULL,"\
              "`Password` varchar(64) NOT NULL,"\
              "`IP` varchar(16) NULL,"\
              "`Money` int(15) NULL,"\
              "`Score` int(15) NULL,"\
              "`Kills` int(15) NULL,"\
              "`Deaths` int(15) NULL,"\
              "PRIMARY KEY (`AccID`)"\
              ") ENGINE=InnoDB DEFAULT CHARSET=latin1;");
    if(mysql_ping() > -1) return print("Connection Suscessful");

    else print("Database Has Not Been Created");
    return 1;
}

public OnGameModeExit()
{
    print("System Has Correctly Stoped");
    return 1;
}
public OnPlayerConnect(playerid)
{
    new string[256];
    format(Query,sizeof(Query),"SELECT Username FROM `Accounts` WHERE `Username` = '%s'",GetPName(playerid));
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
        format(Query,sizeof Query,"SELECT IP FROM `Accounts` WHERE `Username` = '%s' AND `IP` = '%s'",GetPName(playerid),GetIP(playerid));
        mysql_query(Query);
        mysql_store_result();
        if(mysql_num_rows() != 0)
        {
            LoadStats(playerid);
            pData[playerid][Logged] = 1;
            PlaySound(playerid,1057);
            SendClientMessage(playerid,green,"» You have been automatically logged in! Welcome back!");
        }
        else
        {
            format(string,sizeof(string),""cblue"Hey, "cred"%s"cblue"! \nYour account is "cgreen"registered"cblue".\nPlease enter the "cred"password"cblue" to log in!",GetPName(playerid));
            ShowPlayerDialog(playerid,Logindialog,DIALOG_STYLE_INPUT,""cgreen2"Log in",string,"Login","");
        }
    }
    else
    {
        format(string,sizeof(string),""cblue"Hey, "cred"%s"cblue"! \nYour account is "cred"not registered"cblue". \nPlease "cgreen"register"cblue" to continue!",GetPName(playerid));
        ShowPlayerDialog(playerid,Regdialog,DIALOG_STYLE_INPUT,""cpurple"Register",string,"Register","");
    }
    mysql_free_result();
    pData[playerid][FirstSpawn] = 1;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    if(pData[playerid][Logged] == 1) return SaveStats(playerid);
    pData[playerid][FailedLogins] = 0;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(pData[playerid][FirstSpawn] == 1 && pData[playerid][Logged] == 1)
    {
        GivePlayerMoney(playerid,pData[playerid][Money]);
        SetPlayerScore(playerid,pData[playerid][Score]);
        format(pData[playerid][Ip],16,"%s",GetIP(playerid));
        pData[playerid][FirstSpawn] = 0;
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    pData[killerid][Kills]++;
    pData[playerid][Deaths]++;
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case Regdialog:
        {
            new string[220];
            if(strlen(inputtext) == 0)
            {
                ShowPlayerDialog(playerid,Regdialog,DIALOG_STYLE_INPUT,""cblue"Register - "cyellow"Enter your password",""cblue"You are about to register a "cyellow"new account"cblue"! \nPlease choose the "corange"password"cblue" for it! \n","Register!","");
                SendClientMessage(playerid,red,"Please input a password!");
            }
            else
            {
                new EscapedText[64],buffer[129];
                mysql_real_escape_string(inputtext, EscapedText);
                WP_Hash(buffer,sizeof(buffer),EscapedText);
                format(Query,sizeof(Query),"INSERT INTO `Accounts` (Username,Password,IP,Money,Score,Kills,Deaths) VALUES('%s','%s','%s','0','0','0','0')",GetPName(playerid),buffer,GetIP(playerid));
                mysql_query(Query);
                mysql_store_result();
                SendClientMessage(playerid,green2,"You have been successfully registered!");
                format(string,sizeof(string),""cgreen"You have been successfully registered! \n"cwhite"» Your username: "cblue"%s \n"cwhite"» Your password: "cblue"%s \n"cwhite"» Your account ID: "cblue"%i ",GetPName(playerid),inputtext,mysql_insert_id());
                ShowPlayerDialog(playerid,Reginfo,0,"Registered!",string,"Ok","");
                mysql_free_result();
                LoadStats(playerid);
                pData[playerid][Logged] = 1;
                GivePlayerMoney(playerid,5000);
                SetPlayerScore(playerid,1);
                PlaySound(playerid,1083);
            }
        }
        case Logindialog:
        {
            if(!response) return Kick(playerid);
            if(strlen(inputtext) == 0)
            {
                new string[220];
                format(string,sizeof(string),""cblue"Hey, "cred"%s"cblue"! \nYour account is "cgreen"registered"cblue".\nPlease enter the "cred"password"cblue" to log in!",GetPName(playerid));
                ShowPlayerDialog(playerid,Logindialog,DIALOG_STYLE_INPUT,""cgreen2"Log in",string,"Login","");
                SendClientMessage(playerid,red,"Please input a password!");
            }
            else
            {
                LoginPlayer(playerid,inputtext);
            }
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
GetPName(playerid)
{
    new pname[24];
    GetPlayerName(playerid,pname,24);
    return pname;
}
GetIP(playerid)
{
    new ip[16];
    GetPlayerIp(playerid,ip,16);
    return ip;
}
stock PlaySound(playerid,soundid)
{
    new Float:p[3];
    GetPlayerPos(playerid, p[0], p[1], p[2]);
    PlayerPlaySound(playerid, soundid, p[0], p[1], p[2]);
    return 1;
}
stock LoadStats(playerid)
{
    format(Query, sizeof(Query), "SELECT * FROM `Accounts` WHERE `Username` = '%s'", GetPName(playerid));
    mysql_query(Query);
    mysql_store_result();
    mysql_fetch_row_format(Query, "|");
    sscanf(Query, "e<p<|>is[24]s[129]s[16]iiii>", pData[playerid]);//Remember to update this if you are going to add more info!
    mysql_free_result();
    return 1;
}
stock SaveStats(playerid)
{
    format(Query,sizeof(Query),"UPDATE `Accounts` SET `IP` = '%s', `Money` = '%i', `Score` = '%i', `Kills` = '%i', `Deaths` = '%i' WHERE `Username` = '%s'",
    pData[playerid][Ip],
    GetPlayerMoney(playerid),
    GetPlayerScore(playerid),
    pData[playerid][Kills],
    pData[playerid][Deaths],
    GetPName(playerid));

    mysql_query(Query);
    mysql_free_result();
    return 1;
}
stock LoginPlayer(playerid,const password[])
{
    new string[165], buffer[129];
    WP_Hash(buffer,sizeof(buffer),password);
    format(Query,sizeof(Query),"SELECT Password FROM `Accounts` WHERE `Username` = '%s' AND `Password` = '%s'",GetPName(playerid),buffer);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
        format(string,sizeof(string),"You have been logged in! Welcome back, "cred"%s"cgreen"!",GetPName(playerid));
        SendClientMessage(playerid,green,string);
        LoadStats(playerid);
        pData[playerid][Logged] = 1;
        PlaySound(playerid,1057);
    }
    else
    {
        pData[playerid][FailedLogins]++;
        format(string,sizeof(string),""cred"Attempts left: "corange"%i \n"cblue"Hey, "cred"%s"cblue"! \nYour account is "cgreen"registered"cblue".\nPlease enter the "cred"password"cblue" to log in!",3-pData[playerid][FailedLogins],GetPName(playerid));
        ShowPlayerDialog(playerid,Logindialog,DIALOG_STYLE_INPUT,""cgreen2"Log in",string,"Login","");
        PlaySound(playerid,1055);
        if(pData[playerid][FailedLogins] == 3)
        {
            format(string,sizeof(string),"%s has been automatically kicked as he entered the wrong login password 3 times in a row",GetPName(playerid));
            SendClientMessageToAll(red,string);
            SendClientMessage(playerid,red,"*** You have been kicked as you have entered the wrong login password 3 times!");
            PlaySound(playerid,1141);
            Kick(playerid);
        }
    }
    mysql_free_result();
    return 1;
}
Reply
#2

PHP код:
#define mysql_host                                                 " "//the IP of the host, should be displayed when created a database
#define mysql_user                                                 " "//database username
#define mysql_password                                             " "//database password
#define mysql_database 
??
Reply
#3

Nope thats the for the info to connect eh. IP,HOST,USER,PASSWORD,DATABASE NAME
Reply
#4

That's not the point, you defined them, but didn't assign them any text. Anyways, if you're using the R7 plugin, it doesn't support unthreaded queries.
Reply
#5

If it's on R7 the Mysql_query function was changed to mysql_function_query, search it up.
Reply
#6

Can you help me then??
Reply
#7

@SAMPDrifter
The a_mysql R7 include has a macro for mysql_query, you don't HAVE to use mysql_function_query
PHP код:
#define mysql_query(%1,%2,%3,%4) \
    
mysql_function_query(%4, %1false"OnQueryFinish""siii", %1, %2, %3, %4
You see there it requires 4 arguments and in your code
PHP код:
mysql_query(
              
"CREATE TABLE IF NOT EXISTS `Accounts` ("\
              
"`AccID` int(10) NOT NULL AUTO_INCREMENT,"\
              
"`Username` varchar(24) NOT NULL,"\
              
"`Password` varchar(64) NOT NULL,"\
              
"`IP` varchar(16) NULL,"\
              
"`Money` int(15) NULL,"
You only passed one, not to mention the quotes are unnecessary, and aren't escaped properly.

In short, use the R6 plugin.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)