Petre SYSOPS
Mesaje : 150 Puncte : 5785 Reputatie : 0 Data nasterii : 24/07/1997 Data de inscriere : 23/12/2012 Varsta : 26 Localizare : Sarmasag Joburi/Distractii : Scripting , FOtbal Stare de spirit : Buna
| Subiect: MySQL Plugin R7 Mar Aug 27, 2013 9:22 am | |
| MySQL Plugin R7Code: [Select] - Cod:
-
17/07/2011: - mysql_format() a fost adaugata) 09/07/2011: - buguri legate de query rezolvate Cum il instalezi:
- Windows: Copiaza mysql.dll in folderul /plugins si libmysql.dll folderul serverului tau. Apoi adauga in server.cfg 'plugins mysql'
- Linux: Copiaza mysql.so in folderul /plugins si adauga in server.cfg 'plugins mysql.so'
PAWN Scripting: (a_mysql.inc)
- Functii Native: (Toti parametrii din parantezele patrate sunt optionalel)
- mysql_affected_rows( [connectionHandle = 1] )
- mysql_close( [connectionHandle = 1] )
- Asigura-te ca "chemi" acesta in OnGameModeExit()/OnFilterscriptExit()
- mysql_connect( const host[], const user[], const database[], const password[] )
- Returns a connection handle you can use for multiple connections
Code: [Select] - Cod:
-
//acest exemplu demonstreaza cum sa folosesti mai multe conexiuni new SQLPtr[2]; //global var ... Function() { SQLPtr[0] = mysql_connect(...); SQLPtr[1] = mysql_connect(...); mysql_query("SELECT a FROM table WHERE foo = 'bar'",(-1),(-1),SQLPtr[0]); //select query in the first DB mysql_query("UPDATE b SET bar = 'foo'",(-1),(-1),SQLPtr[1]); //update query in the second DB mysql_close(SQLPtr[1]); //close the 2nd DB connection, the other connection still exists
- mysql_debug( activat = 1 )
- Activeaza-l si creaza un fisier log cu numele mysql.log
- mysql_errno( [connectionHandle = 1] )
- mysql_fetch_int( [connectionHandle = 1] )
- mysql_fetch_field_row( string[], const fieldname[] [,connectionHandle = 1] )
- mysql_fetch_float( &Float:result [,connectionHandle = 1] )
- mysql_fetch_row_format( string[], const delimiter[] = "|" [,connectionHandle = 1] )
- mysql_field_count( [connectionHandle = 1] )
- mysql_format( [connectionHandle = 1] )
Pawno Code: [Select] - Cod:
-
Supoerta: (%2.f/%10.s nu sunt suportate) - %e (scapa de date direct,fara a fi nevoie de mysql_escape_string() inainte,dar nu da si query!) - %s (string) - %d / %i (integer) - %f (float)
new szDestination[100]; mysql_format(connectionHandle, szDestination, "SELECT * FROM `%s` WHERE `bar` = '%e' AND `foobar` = '%f' LIMIT %d", "foobar", "escape'me\"please", 1.2345, 1337); //variabila 'szDestination' contine stringul fara caractere care ar purea face SQL INJECTION mysql_query(szDestination); - mysql_free_result( [connectionHandle = 1] )
- mysql_get_charset( destination[] [,connectionHandle = 1] )
- mysql_insert_id( [connectionHandle = 1] )
- mysql_num_rows( [connectionHandle = 1] )
- mysql_num_fields( [connectionHandle = 1] )
- mysql_ping( [connectionHandle = 1] )
- Adauga return 1; daca conexiunea este activa, daca nu adauga return -1;
mysql_query( query[] [,resultid = (-1), extraid = (-1), connectionHandle = 1] ) Setting result id to something else than (-1), triggers the OnQueryFinish callback mysql_query_callback( index, query[], callback[] [, extraid = (-1), connectionHandle = 1] ) Allows you to create custom callbacks for better structured coding (See sample_script.pwn below) mysql_real_escape_string( const source[], destination[] [,connectionHandle = 1] ) mysql_reconnect( [connectionHandle = 1] ) mysql_reload( [connectionHandle = 1] ) mysql_retrieve_row( [connectionHandle = 1] ) Returns true (1) incase there are still rows to retrieve, else false (0) mysql_set_charset( charset[] [,connectionHandle = 1] ) mysql_stat( const destination[] [,connectionHandle = 1] ) mysql_store_result( [connectionHandle = 1] ) mysql_warning_count( [connectionHandle = 1] )
- Pawn Callback:
- OnQueryError( errorid, error[], resultid, extraid, callback[], query[], connectionHandle )
Compiling Notes:
- Windows: Deschide fisierul de proiect cu Microsoft Visual C++ si click pe bunonul build. (MySQL Visual Studio/C++ este necesar)
- Linux: Instaleaza gcc, gpp & mysql-client si scrie "make" in fisierele sursa.
Download:[color] Scripting: [/color]R6-2: a_mysql.inc (includes mysql_format()) R5, R6: a_mysql.inc, Sample PAWN script Archive: PHP class, Modified sample script (by nemesis) (only R5/R6 compatible)
[color] Source: (Cross-Compatible) [/color]R7: Source code (+ new include file) R6-2: Source code (rar), Source code (tar.bz2) R6: Source code R5: Source code
Daca nu intelegi ceva, posteaza aici. Stiu ca nu am tradus tot dar nu am avut timp. O sa-l traduc complet. Atentie:Fiti foarte atenti la SQL Injection,sunt multi rau-voitori.https://docs.google.com/Doc?docid=0AZNlBave77hiZGNjanptbV84Z25yaHJmMjk&pli=1#Allowed_Intermediary_Character_30801873723976314 | |
|