gino CMS  2.5.0
gino è un CMS scritto in PHP che offre tutti gli strumenti necessari per poter creare un sito web e gestire i contenuti al suo interno in maniera semplice ed efficace, svincolando l'amministratore da conoscenze tecniche di programmazione
pdo Class Reference

Libreria di connessione ai database. More...

Inheritance diagram for pdo:
Collaboration diagram for pdo:

Public Member Functions

 __construct ($params)
 Costruttore. More...
 
 getNumberRows ()
 Ritorna il numero di righe risultanti da una select query. More...
 
 getNumberCols ()
 Ritorna il numero di colonne richiamate in una istruzione SELECT. More...
 
 getAffectedRows ()
 Ritorna il numero di righe interessate da una istruzione INSERT, UPDATE o DELETE. More...
 
 getInfoQuery ()
 
 openConnection ($opt=array())
 
 closeConnection ()
 
 begin ()
 
 rollback ()
 
 commit ()
 
 multiActionQuery ($queries)
 
 freeresult ($result=null)
 
 getLastId ($table)
 
 autoIncValue ($table)
 
 getFieldFromId ($table, $field, $field_id, $id, $options=array())
 
 tableexists ($table)
 
 fieldInformations ($table)
 
 conformFieldType ($meta)
 
 limit ($range, $offset)
 
 distinct ($fields, $options=array())
 
 concat ($sequence)
 
 dumpDatabase ($file)
 
 changeFieldType ($data_type, $value)
 
 getNumRecords ($table, $where=null, $field='id', $options=array())
 
 query ($fields, $tables, $where=null, $options=array())
 
 execCustomQuery ($query, $options=array())
 
 select ($fields, $tables, $where=null, $options=array())
 
 insert ($fields, $table, $debug=false)
 
 update ($fields, $table, $where, $debug=false)
 
 delete ($table, $where, $debug=false)
 
 drop ($table)
 
 columnHasValue ($table, $field, $value, $options=array())
 
 join ($table, $condition, $option)
 
 union ($queries, $options=array())
 
 restore ($table, $filename, $options=array())
 
 dump ($table, $path_to_file, $options=array())
 
 escapeString ($string)
 
- Public Member Functions inherited from DbManager
 openConnection ()
 Apre una connessione al database. More...
 

Data Fields

 $_db_host
 
 $_db_name
 
 $_db_user
 
 $_db_password
 
 $_db_charset
 

Protected Member Functions

 checkRowsFromSelect ($result)
 Verifica se una istruzione SELECT ha avuto esito postivo. More...
 
 queryResults ($query, $options=array())
 Esegue la query e ne calcola i tempi di esecuzione. More...
 
 fetch ($results=null, $options=array())
 Prende e rende fruibili i risultati della query. More...
 
 setDSN ()
 Imposta la stringa di connessione al database. More...
 
 setAttribute ()
 Attributi da associare alla connessione. More...
 
 setCharacterSet ()
 Imposta il character set del database. More...
 
 buildQuery ($options=array())
 Costruisce la query (personalizzata per ogni driver) More...
 
 setFieldName ($field)
 Imposta il nome del campo in una query. More...
 
 setFieldValue ($value)
 Imposta il valore del campo in una query. More...
 
 arrayFieldsToString ($a_fields)
 Formatta l'elenco dei campi in una istruzione insert. More...
 
 SQLForFieldInformations ($table)
 SQL code specifico del driver per il metodo fieldInformations() More...
 
 SQLForDump ($table, $path_to_file, $delimiter, $enclosed, $where)
 SQL code specifico del driver per il metodo dump() More...
 

Static Protected Member Functions

static getCharset ()
 Elenco dei character set accettati. More...
 

Protected Attributes

 $_dbms
 
 $_numberrows
 
 $_affected
 
 $_numbercols
 
 $_connection
 
 $_pdo
 
 $_result
 
 $_show_stats
 
 $_info_queries
 
 $_cnt
 
 $_time_queries
 
 $_query_cache
 
 $_query_cache_time
 
 $_cache
 

Private Member Functions

 setParamsCache ()
 Parametri inerenti la cache delle query presenti nelle Impostazioni di sistema. More...
 
 setNumberRows ($numberresults)
 Imposta il numero di righe risultanti da una select query. More...
 
 setNumberCols ($number)
 Imposta il numero di colonne richiamate in una istruzione SELECT. More...
 
 setConnection ($connection)
 
 setAffectedRows ($number)
 Imposta il numero di righe interessate da una istruzione INSERT, UPDATE o DELETE. More...
 
 getError ()
 Recupera il tipo di errore. More...
 
 setFetchMode ($results, $options=array())
 Imposta la modalità di recupero dei risultati della query. More...
 
 getAttribute ($connection)
 Stampa il valore degli attributi associati alla connessione. More...
 
 setWhereItems ($where)
 Imposta la condizione where e i valori per le query con variabili parametrizzate. More...
 

Detailed Description

Libreria di connessione ai database.

Author
marco guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com

DRIVER

L'interfaccia PDO attualmente è implementata da 12 driver (http://php.net/manual/en/pdo.drivers.php) che supportano diversi tipi di database.
Ogni driver deve essere gestito da una classe che estende la classe Gino.Plugin.pdo e che definisce alcune specificità di un database.
Il nome della classe del driver deve essere "pdo_[valore della costante DBMS]" mentre il nome del file "plugin.[nome della classe].php".

CACHE QUERY

La proprietà self::$_query_cache indica se è stata abilita la cache delle query.
Le query che vengono salvate in cache sono quelle che passano dal metodo select() ed execCustomQuery(), e non riguardano quindi le query di struttura, quali quelle presenti nei metodi:

Qualora non si desideri caricare in cache una determinata query è sufficiente passare l'opzione cache=false ai metodi select() e execCustomQuery().
La cache delle query viene svuotata ogni volta che viene eseguita una query di tipo action (

See also
queryResults()).

INFORMAZIONI SULLE QUERY

La proprietà self::$_show_stats attiva la raccolta di informazioni sulle prestazioni delle chiamate al database.
Le query di tipo select alimentano i contatori self::$_cnt e self::$_time_queries.

Constructor & Destructor Documentation

__construct (   $params)

Costruttore.

Parameters
array$paramsparametri di connessione al database
  • dbms (string): nome del database management system
  • host (string): nome del server
  • db_name (string): nome del database
  • user (string): utente che si connette
  • password (string): password dell'utente che si connette
  • charset (string): encoding
  • connect (boolean): attiva la connessione
Returns
void

Implements DbManager.

Member Function Documentation

arrayFieldsToString (   $a_fields)
protected

Formatta l'elenco dei campi in una istruzione insert.

Parameters
array$a_fieldselenco dei campi
Returns
string
autoIncValue (   $table)
See also
Gino.DbManager::autoIncValue()
driver

Implements DbManager.

begin ( )
See also
Gino.DbManager::begin()

Implements DbManager.

buildQuery (   $options = array())
protected

Costruisce la query (personalizzata per ogni driver)

See also
driver
Parameters
array$optionsarray associativo di opzioni
  • statement (string): tipo di istruzione sql (default select)
  • fields (string)
  • tables (string)
  • where (string)
  • group_by (string)
  • order (string)
  • limit (array|string)
  • debug (boolean)
Returns
string
changeFieldType (   $data_type,
  $value 
)
checkRowsFromSelect (   $result)
protected

Verifica se una istruzione SELECT ha avuto esito postivo.

Parameters
object$resultPDOStatement object
Returns
integer (0 negative)
closeConnection ( )
columnHasValue (   $table,
  $field,
  $value,
  $options = array() 
)
commit ( )
See also
Gino.DbManager::commit()

Implements DbManager.

concat (   $sequence)
See also
Gino.DbManager::concat()
driver

Implements DbManager.

conformFieldType (   $meta)
See also
Gino.DbManager::conformFieldType()
driver

Implements DbManager.

delete (   $table,
  $where,
  $debug = false 
)
See also
Gino.DbManager::delete()

Implements DbManager.

distinct (   $fields,
  $options = array() 
)
See also
Gino.DbManager::distinct()
driver

Implements DbManager.

drop (   $table)
See also
Gino.DbManager::drop()

Implements DbManager.

dump (   $table,
  $path_to_file,
  $options = array() 
)
dumpDatabase (   $file)
See also
Gino.DbManager::dumpDatabase()
driver

Implements DbManager.

escapeString (   $string)
execCustomQuery (   $query,
  $options = array() 
)
fetch (   $results = null,
  $options = array() 
)
protected

Prende e rende fruibili i risultati della query.

Parameters
object$resultsoggetto PDOStatement
array$optionsarray associativo di opzioni
  • set_mode (boolean): indica se impostate il fetch mode (default true)
  • fetchAll (boolean): indica se utilizzare il metodo fetchAll per prendere i risultati (default false)
  • opzioni del metodo setFetchMode()
Returns
array (fetchAll=false) or object (fetchAll=true)
fieldInformations (   $table)
freeresult (   $result = null)
getAffectedRows ( )

Ritorna il numero di righe interessate da una istruzione INSERT, UPDATE o DELETE.

Returns
integer
getAttribute (   $connection)
private

Stampa il valore degli attributi associati alla connessione.

Parameters
object$connectionPDO object
static getCharset ( )
staticprotected

Elenco dei character set accettati.

Returns
array
getError ( )
private

Recupera il tipo di errore.

Returns
string

A prescindere dalla modalità che è impostato, c'è un codice di errore interno che viene impostato e che si può controllare utilizzando i metodi errorCode() e errorInfo() degli oggetti POD e PDOStatement.
errorCode() restituisce una stringa di 5 caratteri, come definito nella ANSI SQL-92.
errorInfo() è generalmente più utile in quanto restituisce un array che comprende un messaggio di errore in aggiunta al codice a 5 caratteri.

getFieldFromId (   $table,
  $field,
  $field_id,
  $id,
  $options = array() 
)
getInfoQuery ( )
getLastId (   $table)
getNumberCols ( )

Ritorna il numero di colonne richiamate in una istruzione SELECT.

Returns
integer
getNumberRows ( )

Ritorna il numero di righe risultanti da una select query.

Returns
integer
getNumRecords (   $table,
  $where = null,
  $field = 'id',
  $options = array() 
)
insert (   $fields,
  $table,
  $debug = false 
)
See also
Gino.DbManager::insert()

Implements DbManager.

join (   $table,
  $condition,
  $option 
)
See also
Gino.DbManager::join()

Implements DbManager.

limit (   $range,
  $offset 
)
See also
Gino.DbManager::limit()
driver

Implements DbManager.

multiActionQuery (   $queries)
See also
Gino.DbManager::multiActionQuery()
driver

Implements DbManager.

openConnection (   $opt = array())
See also
Gino.DbManager::openConnection()
Parameters
array$optarray associativo di opzioni
  • persistent (boolean): connessione persistente (default true)
  • get_attribute (boolean): recupera i valori degli attibuti della connessione (default false)
query (   $fields,
  $tables,
  $where = null,
  $options = array() 
)
queryResults (   $query,
  $options = array() 
)
protected

Esegue la query e ne calcola i tempi di esecuzione.

Parameters
string$queryquery da eseguire
array$optionsarray associativo di opzioni
  • statement (string): tipologia di query
    • select (default)
    • action
  • parameters (boolean): indica se la query è parametrizzata
    • true, prima prepara e poi esegue la query
    • false (default), esegue la query
  • values (array): elenco dei valori da sostituire alle variabili parametrizzate
Returns
PDOStatement object
restore (   $table,
  $filename,
  $options = array() 
)
See also
Gino.DbManager::restore()

Implements DbManager.

rollback ( )
select (   $fields,
  $tables,
  $where = null,
  $options = array() 
)
setAffectedRows (   $number)
private

Imposta il numero di righe interessate da una istruzione INSERT, UPDATE o DELETE.

Parameters
integer$number
setAttribute ( )
protected

Attributi da associare alla connessione.

Returns
array
setCharacterSet ( )
protected

Imposta il character set del database.

Nota: non è necessario se lo si specifica nella stringa della connessione

setConnection (   $connection)
private
setDSN ( )
protected

Imposta la stringa di connessione al database.

Returns
string
setFetchMode (   $results,
  $options = array() 
)
private

Imposta la modalità di recupero dei risultati della query.

Parameters
object$resultsoggetto PDOStatement
array$optionsarray associativo di opzioni
  • mode (string): modalità di recupero dei risultati della query
    • ASSOC (default)
    • NUM
    • OBJ
    • CLASS
  • classname (string): nome della classe da richiamare (modalità CLASS)
  • construct_args (array): argomenti da passare al costruttore della classe da richiamare (modalità CLASS)
setFieldName (   $field)
protected

Imposta il nome del campo in una query.

Parameters
string$fieldnome del campo
Returns
string
setFieldValue (   $value)
protected

Imposta il valore del campo in una query.

Parameters
mixed$valuevalore del campo
Returns
string
setNumberCols (   $number)
private

Imposta il numero di colonne richiamate in una istruzione SELECT.

Parameters
integer
setNumberRows (   $numberresults)
private

Imposta il numero di righe risultanti da una select query.

Parameters
integer
setParamsCache ( )
private

Parametri inerenti la cache delle query presenti nelle Impostazioni di sistema.

Returns
void
setWhereItems (   $where)
private

Imposta la condizione where e i valori per le query con variabili parametrizzate.

Parameters
mixed$where
  • string, condizione where non parametrizzata
  • array, condizione where con variabili parametrizzate, nel formato
    array(
    0 => (string) where condition with named parameters or ? character
    1 => (array) binding parameters, array(param=>value[,...]) or array(value[,...])
    )
Returns
array(where_condition[string], parameter_values[array], parameter_query[bool])

Esempi di input where per una query con variabili parametrizzate:

$where = array(
"username = :username AND email = :email AND last_login > :last_login",
array(':username'=>'test', ':email'=>$mail, ':last_login'=>time() - 3600)
)
$where = array(
"id=? AND name=?",
array($id, $name)
)
SQLForDump (   $table,
  $path_to_file,
  $delimiter,
  $enclosed,
  $where 
)
protected

SQL code specifico del driver per il metodo dump()

Parameters
string$tablenome della tabella
string$path_to_filenome del file completo di percorso
string$delimiterstringa che viene usata per separare tra loro i valori dei campi
string$enclosedcarattere utilizzato per racchiudere i valori di tipo stringa
string$wherecondizioni della query
Returns
string
SQLForFieldInformations (   $table)
protected

SQL code specifico del driver per il metodo fieldInformations()

Parameters
string$tablenome della tabella
Returns
string
tableexists (   $table)
See also
Gino.DbManager::tableexists()
driver

Implements DbManager.

union (   $queries,
  $options = array() 
)
See also
Gino.DbManager::union()

In mssql possono essere utilizzati gli operatori:

  • UNION, elimina le righe duplicate dai risultati combinati delle istruzioni SELECT
  • UNION ALL, mostra i record duplicati

Implements DbManager.

update (   $fields,
  $table,
  $where,
  $debug = false 
)
See also
Gino.DbManager::update()

Implements DbManager.

Field Documentation

$_affected
protected
$_cache
protected
$_cnt
protected
$_connection
protected
$_db_charset
$_db_host
$_db_name
$_db_password
$_db_user
$_dbms
protected
$_info_queries
protected
$_numbercols
protected
$_numberrows
protected
$_pdo
protected
$_query_cache
protected
$_query_cache_time
protected
$_result
protected
$_show_stats
protected
$_time_queries
protected

The documentation for this class was generated from the following file: