Modules/MTA-MySQL: Difference between revisions
 (the font size is intentional)  | 
				Megadreams (talk | contribs)  No edit summary  | 
				||
| Line 23: | Line 23: | ||
==Installation==  | ==Installation==  | ||
<div style="font-size: 4em; line-height: 1em;">{{Warning|There are better solutions that don't require installation! Check out the SQL functions [https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#SQL_functions here] instead!}}</div>  | |||
===Windows===  | ===Windows===  | ||
'''32 bit:''' Copy 32 bit mta_mysql.dll into the '''MTA San Andreas\server\mods\deathmatch\modules\''' directory.<br/>  | '''32 bit:''' Copy 32 bit mta_mysql.dll into the '''MTA San Andreas\server\mods\deathmatch\modules\''' directory.<br/>  | ||
Latest revision as of 02:40, 10 September 2025
| Module info | |
| Name | MTA MySQL | 
| Version | 0.5 | 
| Author | Alberto Alonso (ryden) | 
| Module website | Here | 
| Download link | Windows 32 bit Windows 64 bit  | 
| License | BSD | 
| Written in | C++ | 
| Operating system | Cross-platform | 
| Compatible with | DP2.x & 1.X | 
MTA MySQL is an alternative to the default ml_mysql module provided by the MTA team. It is available for Windows and GNU/Linux and provides the source code.
Note: From version 0.4 it supports both DP2.3 and 1.0 servers.
Installation
Windows
32 bit: Copy 32 bit mta_mysql.dll into the MTA San Andreas\server\mods\deathmatch\modules\ directory.
(You might also need to install 32 bit VS2013 Runtime Redist)
64 bit: Copy 64 bit mta_mysql.dll into the MTA San Andreas\server\x64\modules\ directory.
(You might also need to install 64 bit VS2013 Runtime Redist)
Then, add the following line in mtaserver.conf:
<module src="mta_mysql.dll" />
GNU/Linux
32 bit: Copy 32 bit mta_mysql.so into the mods/deathmatch/modules/ directory.
64 bit: Copy 64 bit mta_mysql.so into the x64/modules/ directory.
Then, add the following line in mtaserver.conf:
<module src="mta_mysql.so" />
To fix MODULE: Unable to find modules/mta_mysql.so (libmysqlclient.so.16: cannot open shared object file: No such file or directory)! copy libmysqlclient.so.16 into /usr/lib (32 bit, 64 bit)
If you experience an error on Unix systems: Try to add port and socket parameters to your mysql_connect.
Handler functions
- mysql_connect
 - mysql_close
 - mysql_errno
 - mysql_error
 - mysql_ping
 - mysql_select_db
 - mysql_escape_string
 - mysql_affected_rows
 - mysql_change_user
 - mysql_get_character_set_info
 - mysql_get_client_info
 - mysql_get_client_version
 - mysql_get_host_info
 - mysql_get_proto_info
 - mysql_get_server_info
 - mysql_get_server_version
 - mysql_hex_string
 - mysql_info
 - mysql_insert_id
 - mysql_query
 - mysql_unbuffered_query
 - mysql_set_character_set
 - mysql_stat
 - mysql_warning_count
 
Result managing functions
- mysql_data_seek
 - mysql_fetch_field
 - mysql_fields
 - mysql_fetch_lengths
 - mysql_fetch_row
 - mysql_rows
 - mysql_fetch_assoc
 - mysql_rows_assoc
 - mysql_field_length
 - mysql_field_name
 - mysql_field_seek
 - mysql_field_tell
 - mysql_num_fields
 - mysql_num_rows
 - mysql_result
 - mysql_free_result
 - mysql_null
 
Version 0.5 calling method
From version 0.5 onwards you can call all this module functions, except mysql_connect and mysql_null, as if they are methods of an object.
For example, having a valid MySQL handler, you can do handler:query ( "SELECT * FROM table" ) instead of mysql_query ( handler, "SELECT * FROM table" ).
Function aliases
A function alias is a second name for a function, which makes calling any of the original name or the alias have the same result. The new aliases introduced in version 0.5 are:
- result:num_rows() is the same as result:numrows()
 - result:num_fields() is the same as result:numfields()
 - result:free_result() is the same as result:free()