SA-MP Forums Archive
[Plugin] [REL] MySQL Plugin (Now on github!) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Plugin Development (https://sampforum.blast.hk/forumdisplay.php?fid=18)
+--- Thread: [Plugin] [REL] MySQL Plugin (Now on github!) (/showthread.php?tid=56564)



Re: [REL] MySQL Plugin (****** Project) - -Prodigy- - 21.07.2013

I'm just using the latest download. I'm running windows 7 64 bit(could that be the problem?)


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 21.07.2013

No, just install that: http://www.microsoft.com/en-us/downl....aspx?id=30679
Do you also have the libmysql.dll in the right place?


Re: [REL] MySQL Plugin (****** Project) - -Prodigy- - 21.07.2013

Ah thank you so much. x86 version worked.


Re: [REL] MySQL Plugin (****** Project) - MP2 - 21.07.2013

In regards to documentation, why do you need to use the SA-MP wiki? I don't think the SA-MP wiki should be used to document plugins - only SA-MP itself. Can't you get your own wiki, or just document it in a post? That being said, I have a wiki account so could help with documentation.


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 21.07.2013

Good idea, I'll create an own wiki.
Why use the SA-MP wiki?
https://sampwiki.blast.hk/wiki/MySQL
Thats why. But let's just leave this as the documentation for the older plugins which still support unthreaded queries.


Re: [REL] MySQL Plugin (****** Project) - ReVo_ - 21.07.2013

Use ****** code wiki no?


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 21.07.2013

That would be too overkill. If I'd use the ****** code wiki, there would be 26 pages for each function (and 44 pages with R33!). And as you can currently see if you look at the wiki, that would just look disgusting.
I also don't like the syntax there, there is almost no chance to make it look like in the SA-MP wiki (which is my goal).


Re: [REL] MySQL Plugin (****** Project) - MP2 - 21.07.2013

You could just get a free wiki.

Anyway, when using R7, I did this to retrieve the rows in a while loop and put them in a string with delimiters:

pawn Код:
while(mysql_fetch_row_format(dest))
but that doesn't seem to work in R29 (mysql_fetch_row_format doesn't seem to return a value). How would I (using cache) go through every row and get a string with delimiters as a result? Hope you understand what I mean.


Re: [REL] MySQL Plugin (****** Project) - Scenario - 21.07.2013

Quote:
Originally Posted by MP2
Посмотреть сообщение
You could just get a free wiki.

Anyway, when using R7, I did this to retrieve the rows in a while loop and put them in a string with delimiters:

pawn Код:
while(mysql_fetch_row_format(dest))
but that doesn't seem to work in R29 (mysql_fetch_row_format doesn't seem to return a value). How would I (using cache) go through every row and get a string with delimiters as a result? Hope you understand what I mean.
Load the string with cache_get_row() and use sscanf to split the string.


AW: Re: [REL] MySQL Plugin (****** Project) - maddinat0r - 21.07.2013

Quote:
Originally Posted by MP2
Посмотреть сообщение
You could just get a free wiki.

Anyway, when using R7, I did this to retrieve the rows in a while loop and put them in a string with delimiters:

pawn Код:
while(mysql_fetch_row_format(dest))
but that doesn't seem to work in R29 (mysql_fetch_row_format doesn't seem to return a value). How would I (using cache) go through every row and get a string with delimiters as a result? Hope you understand what I mean.
Use
pawn Код:
while(mysql_retrieve_row()) {
    mysql_fetch_row_format(dest);
    //other code
}
or
pawn Код:
for(new r=0; r < cache_num_rows(); ++r) {
    new dest[1024];
    for(new f=0; f < cache_num_fields(); f++) {
        if(f != 0) {
            strcat(destination, "|");
           
        }
        new row_val_tmp[256];
        cache_get_row(r, f, row_val_tmp);
        if(f == 0)
            strins(dest, row_val_tmp, 0);
        else
            strcat(dest, row_val_tmp);
    }
        //here you now have your values with a | delimiter, like "1|TestName|32512|Password"
}
And also stop using R29 and switch to R31! :P


Re: [REL] MySQL Plugin (****** Project) - Joey^ - 24.07.2013

Why is it good for a mySQL plugin to use cache?


AW: Re: [REL] MySQL Plugin (****** Project) - maddinat0r - 31.07.2013

Quote:
Originally Posted by RedCrossER
Посмотреть сообщение
latest version of what?
Of the MySQL plugin (R31).

Quote:
Originally Posted by Kar
Посмотреть сообщение
I had a weird issue where mysql_affected_rows() returned -1 once.. How is this possible?

Also what would you say about transferring this project to GitHub. In all honesty its surpassed ****** project..
I also got that one day. I thought it was a bug somewhere, but I checked everything and found nothing. Then I changed the query a bit and it suddenly worked. I was sending such an INSERT-query
PHP код:
INSERT INTO test (`Field1`) VALUE ('321'
and then I replaced "VALUE" with "VALUES" and cache_affected_rows returned 1. Both queries are correct (they are both creating a new row), but only one is the real correct one.

I sent BlueG a PM some weeks ago where I asked him if he could move the project to GitHub, but didn't got an answer yet.


Respuesta: [REL] MySQL Plugin (****** Project) - Nicolas_Castillo - 31.07.2013

if using mysql_tquery, will continue keeping the cache is like using mysql_function_query?

I jump from R15 to R31, and I'm not sure how to use the new features of cache


Re: [REL] MySQL Plugin (****** Project) - Kar - 31.07.2013

Well mine was a update query, idk. Here see for yourself

pawn Код:
forward Check_For_Unbans();
public Check_For_Unbans()
{
    mysql_function_query(McHandle, "UPDATE `"#BAN_TABLE_NAME"` SET `"#BAN_COLUMN_EXPIRE"` = -1 WHERE `"#BAN_COLUMN_EXPIRE"` < UNIX_TIMESTAMP() AND `"#BAN_COLUMN_EXPIRE"` != 0", true, "Thread_Check_For_Unbans", "i", -1); //expires = 0 // DATE_ADD("#BAN_COLUMN_TIME_BANNED", INTERVAL "#BAN_COLUMN_TIME" SECOND) <= NOW()
    return 1;
}
THREAD:Check_For_Unbans(extraid)
{
    new count = mysql_affected_rows();
    if(count)
    {
        printf("[Server: Check_For_Unbans] - %d Banned Players Have Been Unbanned", count);
        MessageToAdmins(_, "[Server: Check_For_Unbans] - %d Banned Players Have Been Unbanned", count);
    }
    return 1;
}
Alright. Maybe you should use IRC, can message you easier there too.


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 31.07.2013

PHP код:
UPDATE `"#BAN_TABLE_NAME"SET `"#BAN_COLUMN_EXPIRE"` = '-1' WHERE `"#BAN_COLUMN_EXPIRE"` < UNIX_TIMESTAMP() AND `"#BAN_COLUMN_EXPIRE"` != '0' 
Maybe this one will work? (have put the query values in ')

Yes, maybe I should use IRC. Some day.


Re: [REL] MySQL Plugin (****** Project) - Kar - 31.07.2013

Integers doesn't require single quotes in MySQL, only strings do.

It's fine though.

That Some Day should be soon, lol


Re: [REL] MySQL Plugin (****** Project) - Vince - 31.07.2013

Код:
[16:50:46] [WARNING] CMySQLHandle::Create - connection already exists
Not sure how to get rid of that. Or even whether it is a bug or not. I'm connecting to the same server, with the same credentials, from a filterscript and a gamemode at the same time.


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 31.07.2013

It's not a bug. It just warns you that there is already a similar connection and then returns the connection id of the existing connection. You can simply ignore that.


Re: [REL] MySQL Plugin (****** Project) - BigGroter - 01.08.2013

pawn Код:
public OnGameModeInit()
{
    mysql_log(LOG_ERROR | LOG_WARNING);
    print("test1");
    mysql_connect(MYSQLIP, MYSQLUSER, MYSQLDB, MYSQLPASSWORD);
    print("test2");
"test1" is printed, test2 isn't however. I assume the server is hanging itself while connecting (what else?). Any ideas? My logs are empty.


AW: [REL] MySQL Plugin (****** Project) - maddinat0r - 01.08.2013

Are you using the correct libmysql.dll (if on Windows)? Is the MySQL server online?