Difference between revisions of "Standard Mode"

From BaseX Documentation
Jump to navigation Jump to search
m (→‎Example: moved comments inside the code)
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<p>In the standard mode, a database command can be
+
<p>In the standard mode of the [[Clients]], a database command can be
 
sent to the server using the <code>execute()</code> function
 
sent to the server using the <code>execute()</code> function
 
of the <code>Session</code>. This functions returns the whole
 
of the <code>Session</code>. This functions returns the whole
Line 10: Line 10:
 
<p>The standard execution works as follows:</p>  
 
<p>The standard execution works as follows:</p>  
  
#Create a new session instance with hostname, port, username and password.  
+
# Create a new session instance with hostname, port, username and password.  
#Call the <code>execute()</code> function of the session with the [[Commands|database commands]] as argument.  
+
# Call the <code>execute()</code> function of the session with the [[Commands|database commands]] as argument.  
#Receive the result of a successfully executed command. As an error occurs an exception is thrown.  
+
# Receive the result of a successfully executed command. If an error occurs, an exception is thrown.  
#Continue using the client (back to 2.), or close the session.
+
# Optionally, call <code>info()</code> to get some process information
 +
# Continue using the client (back to 2.), or close the session.
 
   
 
   
==Example==  
+
==Example in PHP==
 
   
 
   
<pre class="brush:java">
+
Taken from our [https://github.com/BaseXdb/basex-api/blob/master/src/main/php/Example.php repository]:
// Create a session object:
 
Session session = new Session("localhost", 1984, "admin", "admin");
 
  
//Run the command in question and print the textual result:
+
<syntaxhighlight lang="php">
print session.execute("info database");
+
<?php
 +
/*
 +
* This example shows how database commands can be executed.
 +
* Documentation: http://basex.org/api
 +
*
 +
* (C) BaseX Team 2005-15, BSD License
 +
*/
 +
include("BaseXClient.php");
  
//Close the session:
+
try {
session.close();
+
  // initialize timer
</pre>
+
  $start = microtime(true);
 +
 
 +
  // create session
 +
  $session = new Session("localhost", 1984, "admin", "admin");
 +
 
 +
  // perform command and print returned string
 +
  print $session->execute("xquery 1 to 10");
 +
 
 +
  // close session
 +
  $session->close();
 +
 
 +
  // print time needed
 +
  $time = (microtime(true) - $start) * 1000;
 +
  print "\n$time ms\n";
 +
 
 +
} catch (Exception $e) {
 +
  // print exception
 +
  print $e->getMessage();
 +
}
 +
?>
 +
</syntaxhighlight>

Revision as of 13:21, 27 February 2020

In the standard mode of the Clients, a database command can be sent to the server using the execute() function of the Session. This functions returns the whole result. With the info() function, you can request some information on your executed process. If an error occurs, an exception with the error message will be thrown.

Usage

The standard execution works as follows:

  1. Create a new session instance with hostname, port, username and password.
  2. Call the execute() function of the session with the database commands as argument.
  3. Receive the result of a successfully executed command. If an error occurs, an exception is thrown.
  4. Optionally, call info() to get some process information
  5. Continue using the client (back to 2.), or close the session.

Example in PHP

Taken from our repository:

<syntaxhighlight lang="php"> <?php /*

* This example shows how database commands can be executed.
* Documentation: http://basex.org/api
*
* (C) BaseX Team 2005-15, BSD License
*/

include("BaseXClient.php");

try {

 // initialize timer
 $start = microtime(true);
 // create session
 $session = new Session("localhost", 1984, "admin", "admin");
 
 // perform command and print returned string
 print $session->execute("xquery 1 to 10");
 // close session
 $session->close();
 // print time needed
 $time = (microtime(true) - $start) * 1000;
 print "\n$time ms\n";

} catch (Exception $e) {

 // print exception
 print $e->getMessage();

} ?> </syntaxhighlight>