<?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();
}
?>
|