<?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 PostgreSQL 
use Nemiro\Data\PgSql as PgSql; 
# 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 client instance 
    $client = new PgSql(); 
 
    # you can specify the text of the query into the Command property 
    $client->Command = 'SELECT * FROM users'; 
 
    # and execute the query by any method: 
    # $client->GetRow();   # return single row 
    # $client->GetTable(); # return all rows 
    # $client->GetData();  # return array tables 
 
    # for example, get all rows 
    $table = $client->GetTable(); 
    var_dump($table); 
 
    # you can build a query from the input parameters, 
    # but you will need to check the type and value of incoming data 
    # it is bad practice 
    $client->Command = 'DELETE FROM users WHERE id_users = '.(int)$_GET['id']; 
 
    # it is best to use parameterized queries 
    $client->Command = new DBCommand('DELETE FROM users WHERE id_users = @id_users'); 
    $client->Command->Parameters->Add('@id_users', $_GET['id'], DBParameterType::Integer); 
    # or 
    # $client->Command->Parameters->Add('@id_users', $_GET['id']); 
    # or 
    # $client->Command->Parameters->Add('@id_users').SetValue($_GET['id']); 
    # it is a safe solution 
 
    # execute the query 
    $affectedRows = $client->ExecuteNonQuery(); 
 
    echo 'Deleted: '.$affectedRows.'<br />'; 
} 
catch (Exception $ex) 
{ 
    echo 'Error: '.$ex->getMessage(); 
} 
?>
 
 |