| 
<?php
 # include config file
 require_once 'config.php';
 
 # include the db client classes file (use own path of the file location)
 require_once '../Import.php';
 
 # import client for MySql
 use Nemiro\Data\MySql as MySql;
 # import command class
 use Nemiro\Data\DBCommand as DBCommand;
 # import parameters type list
 use Nemiro\Data\DBParameterType as DBParameterType;
 
 # best practice is to use 'try { } catch { }' blocks
 try
 {
 # create a new client instance
 $client = new MySql();
 
 # create commands
 $firtCommand = new DBCommand('SELECT * FROM users LIMIT @from, @to');
 $firtCommand->Parameters->Add('@to', 20, DBParameterType::Integer);
 $firtCommand->Parameters->Add('@from', 10, DBParameterType::Integer);
 
 $secondCommand = new DBCommand
 (
 'SELECT m.* FROM messages AS m '.
 'INNER JOIN (SELECT id_users FROM users LIMIT @users_from, @users_to) AS u '.
 'ON m.id_users = u.id_users '.
 'LIMIT @messages_limit'
 );
 $secondCommand->Parameters->Add('@messages_limit', 50, DBParameterType::Integer);
 $secondCommand->Parameters->Add('@users_from', $firtCommand->Parameters['@from']->Value, DBParameterType::Integer);
 $secondCommand->Parameters->Add('@users_to', $firtCommand->Parameters['@to']->Value, DBParameterType::Integer);
 
 $thirdCommand = 'SELECT * FROM stat';
 
 # set commands to client instance
 $client->Command = array($firtCommand, $secondCommand, $thirdCommand);
 
 # execute the command and get DataSet
 $data = $client->GetData();
 
 if (count($data) > 0)
 {
 # read tables
 $index = 1;
 foreach ($data as $table)
 {
 echo '<h2>Table #'.$index.'</h2>';
 $index++;
 # output columns of the table
 $columns = array_keys($table[0]);
 echo '<table>';
 echo '<thead><tr>';
 foreach ($columns as $column)
 {
 echo '<td>'.$column.'</td>';
 }
 echo '</tr></thead>';
 
 # output the table rows
 echo '<tbody>';
 foreach ($table as $row)
 {
 echo '<tr>';
 foreach ($row as $field)
 {
 echo '<td>'.(isset($field) ? $field : 'NULL').'</td>';
 }
 echo '</tr>';
 }
 echo '</tbody>';
 echo '</table>';
 }
 }
 else
 {
 echo 'The query returned no results...';
 }
 }
 catch (Exception $ex)
 {
 echo 'Error: '.$ex->getMessage();
 }
 ?>
 |