Difference between revisions of "Query Mode"
Jump to navigation
Jump to search
m (added missing closing tag) |
m (Text replacement - "syntaxhighlight" to "pre") Tags: Mobile web edit Mobile edit |
||
(6 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
==PHP Example== | ==PHP Example== | ||
− | Taken from our [https://github.com/BaseXdb/basex | + | Taken from our [https://github.com/BaseXdb/basex/blob/master/basex-api/src/main/php/QueryBindExample.php repository]: |
− | <pre | + | <pre lang="php"> |
<?php | <?php | ||
/* | /* | ||
Line 27: | Line 27: | ||
* Documentation: http://basex.org/api | * Documentation: http://basex.org/api | ||
* | * | ||
− | * (C) BaseX Team 2005- | + | * (C) BaseX Team 2005-15, BSD License |
*/ | */ | ||
include("BaseXClient.php"); | include("BaseXClient.php"); | ||
Line 33: | Line 33: | ||
try { | try { | ||
// create session | // create session | ||
− | $session = new Session("localhost", 1984, "admin", " | + | $session = new Session("localhost", 1984, "admin", "..."); |
try { | try { | ||
Line 70: | Line 70: | ||
* Added: {{Code|context()}} function | * Added: {{Code|context()}} function | ||
− | |||
− | |||
− |
Latest revision as of 18:38, 1 December 2023
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[edit]
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[edit]
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-15, BSD License
*/
include("BaseXClient.php");
try {
// create session
$session = new Session("localhost", 1984, "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[edit]
- Version 7.2
- Added:
context()
function