Modules/MySQL/MysqlQuery: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
==Description==
{{ModuleFunction|MySQL}}
This functions queries the MySQL server through the MySQL connection that has been opened by [[mysqlOpen]]. The result of the query is then passed to the script by calling callback_function.


This function is provided by the '''ml_mysql''' module.
This functions queries the MySQL server through the MySQL connection that has been opened by [[Modules/MySQL/MysqlOpen|mysqlOpen]]. The result of the query is then passed to the script by calling callback_function. It's syntax and functionality is similar to that of [[executeSQLSelect]].


==Syntax==
==Syntax==
bool mysqlQuery ( [string callback_function, string query, string result_table] )
<syntaxhighlight lang="lua">bool mysqlQuery ( mysql mysqlobj, string callback_function, string query )</syntaxhighlight>


===Required Arguments===
===Required Arguments===
*'''callback_function''' : The function that is called if the operation is done (please see below)
*'''mysqlobj''' : A ''mysql'' object created by [[Modules/MySQL/MysqlCreate|mysqlCreate]]
*'''callback_function''' : The function that is called if the operation is done (see below)
*'''query''' : The MySQL query that is sent
*'''query''' : The MySQL query that is sent
*'''result_table''' : The name of the global table that is created to save the results


===Callback Arguments===
===Callback Arguments===
Your callback function has to accept the following arguments:
Your callback function has to accept the following arguments.


'''N/A yet'''
On success:
 
*'''table:''' The 2-dimensional table where the results are stored in: table [row_index] [column_index].
 
On failure:
 
*'''boolean:''' False, when no rows are found or an error occured.


===Optional Arguments===
===Optional Arguments===
Line 23: Line 28:


==Example==
==Example==
<syntaxhighlight lang="lua">
function onMySQLResult ( table )
outputServerLog ( "Printing some test results" )
outputServerLog ( table[1][1] )
outputServerLog ( table[1][2] )
end
function onMySQLOpen ( result )
if ( result ) then
outputServerLog ( "MySQL connection established." )
mysqlQuery ( db, "onMySQLResult", "SELECT * FROM test" )
else
outputServerLog ( "MySQL connection failed." )
end
end


'''N/A yet'''
function mysqltest ()
db = mysqlCreate ()
mysqlOpen ( db, "onMySQLOpen", "localhost", "bastage", "bastage_pw", "test", 3306 )
end
</syntaxhighlight>

Latest revision as of 20:48, 29 September 2009


Package-x-generic.png This function is provided by the external module MySQL. You must install this module to use this function.


This functions queries the MySQL server through the MySQL connection that has been opened by mysqlOpen. The result of the query is then passed to the script by calling callback_function. It's syntax and functionality is similar to that of executeSQLSelect.

Syntax

bool mysqlQuery ( mysql mysqlobj, string callback_function, string query )

Required Arguments

  • mysqlobj : A mysql object created by mysqlCreate
  • callback_function : The function that is called if the operation is done (see below)
  • query : The MySQL query that is sent

Callback Arguments

Your callback function has to accept the following arguments.

On success:

  • table: The 2-dimensional table where the results are stored in: table [row_index] [column_index].

On failure:

  • boolean: False, when no rows are found or an error occured.

Optional Arguments

None

Example

function onMySQLResult ( table )
	outputServerLog ( "Printing some test results" )
	outputServerLog ( table[1][1] )
	outputServerLog ( table[1][2] )
end

function onMySQLOpen ( result )
	if ( result ) then
		outputServerLog ( "MySQL connection established." )
		mysqlQuery ( db, "onMySQLResult", "SELECT * FROM test" )
	else
		outputServerLog ( "MySQL connection failed." )
	end
end

function mysqltest ()
	db = mysqlCreate ()
	mysqlOpen ( db, "onMySQLOpen", "localhost", "bastage", "bastage_pw", "test", 3306 )
end