open.mp forum
[Pawn] [Help]How to retrieve data from mysql. - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: SA-MP (https://forum.open.mp/forumdisplay.php?fid=3)
--- Forum: Pawn Scripting (https://forum.open.mp/forumdisplay.php?fid=10)
--- Thread: [Pawn] [Help]How to retrieve data from mysql. (/showthread.php?tid=1591)



[Help]How to retrieve data from mysql. - cronoxliker - 2021-01-25

I get how to send data and so on, but when it comes to retrieve the data i cant get my head arround it, i see that it uses cache and so on, can somebody explain me how do I?retrieve data successfully??



thanks


RE: [Help]How to retrieve data from mysql. - Radical - 2021-01-25

Non-threaded query:

Code:
new Cache: result = mysql_query(ConnectionHandle, "SELECT * FROM `accounts` WHERE `ID` = '10'");

new dest[24], score;

if (cache_num_rows())
{

    cache_get_value_name(0, "Nick", dest, 24);

    cache_get_value_name_int(0, "Score", score);

}

cache_delete(result);



(Recommended) Threaded query:

Code:
mysql_tquery(ConnectionHandle, "SELECT * FROM `accounts` WHERE `ID` = '10'", "OnPlayerDataLoaded", "i", playerid);


forward OnPlayerDataLoaded(playerid);
public OnPlayerDataLoaded(playerid)
{
    if (!cache_num_rows()) {
        return 0;
    }

    new dest[24], score;

    cache_get_value_name(0, "Nick", dest, 24);

    cache_get_value_name_int(0, "Score", score);

    return 1;

}



RE: [Help]How to retrieve data from mysql. - cronoxliker - 2021-01-25

(2021-01-25, 11:42 AM)Radical Wrote: Non-threaded query:

Code:
new Cache: result = mysql_query(ConnectionHandle, "SELECT * FROM `accounts` WHERE `ID` = '10'");

new dest[24], score;

if (cache_num_rows())

{

? ? cache_get_value_name(0, "Nick", dest, 24);

? ? cache_get_value_name_int(0, "Score", score);

}

cache_delete(result);



Threaded query:

Code:
mysql_tquery(ConnectionHandle, "SELECT * FROM `accounts` WHERE `ID` = '10'", "OnPlayerDataLoaded", "i", playerid);



forward?OnPlayerDataLoaded(playerid);

public OnPlayerDataLoaded(playerid) {

? ??if (!cache_num_rows())?

? ? ? ? return 0;



? ? new dest[24], score;



? ? cache_get_value_name(0, "Nick", dest, 24);

? ? cache_get_value_name_int(0, "Score", score);

? ? return 1;

}



Thanks alot!