Modules/MySQL/MysqlQuery: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(9 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]].
 
Use '''both''' [[mysqlGetField]] and [[mysqlCleanupResult]] to deal with the ''mysql_result'' object returned by this function.


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


===Required Arguments===
===Required Arguments===
*'''[[mysql]]''' : The [[mysql]] object returned by [[mysqlOpen]]
*'''mysqlobj''' : A ''mysql'' object created by [[Modules/MySQL/MysqlCreate|mysqlCreate]]
*'''callback_function''' : The function that is called if the operation is done (please see below)
*'''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


Line 33: Line 30:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function onMySQLResult ( table )
function onMySQLResult ( table )
outputServerLog ( "GOT RESULT" )
outputServerLog ( "Printing some test results" )
outputServerLog ( table[1][1] )
outputServerLog ( table[1][1] )
outputServerLog ( table[1][2] )
outputServerLog ( table[1][2] )
end
end


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


function mysqltest ()
function mysqltest ()
mysqlOpen ( "onMySQLOpen", "localhost", "bastage", "bastage_pw", "test", 3306 )
db = mysqlCreate ()
mysqlOpen ( db, "onMySQLOpen", "localhost", "bastage", "bastage_pw", "test", 3306 )
end
end
</syntaxhighlight>
</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