Difference between revisions of "Query Mode"
Jump to navigation
Jump to search
m (added missing closing tag) |
|||
| Line 1: | Line 1: | ||
<p>The query mode of the [[Clients]] allows you to bind external variables to a query | <p>The query mode of the [[Clients]] allows you to bind external variables to a query | ||
and evaluate the query in an iterative manner. The <code>query()</code> function of the | and evaluate the query in an iterative manner. The <code>query()</code> function of the | ||
| − | <code>Session</code> instance returns a new query instance. | + | <code>Session</code> instance returns a new query instance.</p> |
==Usage== | ==Usage== | ||
Revision as of 12:29, 10 March 2013
The query mode of the Clients allows you to bind external variables to a query
and evaluate the query in an iterative manner. The query() function of the
Session instance returns a new query instance.
Usage
The query execution works as follows:
- Create a new session instance with hostname, port, username and password.
- Call
query()with your XQuery expression to get a query object. - Optionally bind variables to the query with one of the
bind()functions. - Optionally bind a value to the context item via
context(). - Iterate through the query object with the
more()andnext()functions. - As an alternative, call
execute()to get the whole result at a time. info()gives you information on query evaluation.options()returns the query serialization parameters.- Don't forget to close the query with
close().
PHP Example
Taken from our repository:
<?php
/*
* This example shows how queries can be executed in an iterative manner.
* Documentation: http://basex.org/api
*
* (C) BaseX Team 2005-11, BSD License
*/
include("BaseXClient.php");
try {
// create session
$session = new Session("localhost", 1984, "admin", "admin");
try {
// create query instance
$input = 'declare variable $name external; '.
'for $i in 1 to 10 return element { $name } { $i }';
$query = $session->query($input);
// bind variable
$query->bind("$name", "number");
// print result
print $query->execute()."\n";
// close query instance
$query->close();
} catch (Exception $e) {
// print exception
print $e->getMessage();
}
// close session
$session->close();
} catch (Exception $e) {
// print exception
print $e->getMessage();
}
?>
Changelog
- Version 7.2
- Added:
context()function