# php_manual

id: curl_multi_getcontent
type: function
doc:
<comment>Description:</comment>
  Restituisce il contenuto di un handle cURL se CURLOPT_RETURNTRANSFER è impostato
  
  Se <info>CURLOPT_RETURNTRANSFER</info> è un'opzione impostata per l'handle specifico,  allora questa funzione
  restituirà il contenuto dell'handle cURL nella forma di una stringa.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ch</strong>  Un identificativo cURL restituito da 
                 <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>string</info>  Restituisce il contenuto dell'handle cURL se <info>CURLOPT_RETURNTRANSFER</info> è impostato.

<comment>See Also:</comment>
   * <strong>curl_multi_init()</strong>


id: curl_multi_info_read
type: function
doc:
<comment>Description:</comment>
  Ottiene informazioni sui trasferimenti correnti
  
  Chiede all'handle multiplo se c'è qualche messaggio o informazione dai trasferimenti individuali.
  I messaggi possono includere informazioni come un codice di errore dal trasferimento o solo il
  fatto che il trasferimento è completato.
  
  Chiamate ripetute a questa funzione restituiranno un nuovo risultato ogni volta, finchè non viene
  restituito un <info>false</info>  come segnale che non c'è più nulla da ottenere a quel punto. L'intero a cui
  punterà  <strong>$msgs_in_queue</strong> conterrà il numero dei messaggi rimanenti dopo che questa  funzione è
  stata chiamata.
  
  I dati a cui la risorsa restituita punta non sopravviveranno chiamando
  <strong>curl_multi_remove_handle()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$mh           </strong>  Un identificativo multiplo rstituito da
                            <strong>curl_multi_init()</strong>.
  <info>int     </info>  <strong>$msgs_in_queue</strong>  Il numero di messaggi che sono ancora in coda

<comment>Return:</comment>
  <info>array</info>  In caso di successo, restituisce un array associativo per il messaggio, <info>false</info> in caso di
         fallimento.
         
         Contenuto dell'array restituitoChiave:Valore:<return>msg</return>La costante <info>CURLMSG_DONE</info>. Altri valori
         restituiti non sono attualmente disponibili.<return>result</return>Una delle costanti <info>CURLE_*</info>. Se tutto è
         OK, il risultato sarà <info>CURLE_OK</info>.<return>handle</return>Risorsa di tipo curl indica l'handle a cui è
         associato.

<comment>See Also:</comment>
   * <strong>curl_multi_init()</strong>


id: curl_multi_init
type: function
doc:
<comment>Description:</comment>
  Restituisce un nuovo handle multiplo cURL
  
  Permette l'elaborazione di handle multipli cURL in modo asincrono.

<comment>Return:</comment>
  <info>resource</info>  Restituisce una risorsa dell'handle multiplo cURL in caso di successo, <info>false</info> in caso di
            fallimento.

<comment>See Also:</comment>
   * <strong>curl_init()</strong>
   * <strong>curl_multi_close()</strong>


id: curl_multi_remove_handle
type: function
doc:
<comment>Description:</comment>
  Rimuove un multi handle da un set di handle cURL
  
  Rimuove un handle <strong>$ch</strong> dato dall'handle <strong>$mh</strong> dato. Quando l'handle <strong>$ch</strong> è stato rimosso, è di nuovo
  perfettamente  legale eseguire <strong>curl_exec()</strong> si questo handle.  Rimuovendo l'handle <strong>$ch</strong> mentre viene
  usato, verrà effettivamente fermato il trasferimento in corso che coinvolge quell'handle.

<comment>Param:</comment>
  <info>resource</info>  <strong>$mh</strong>  Un identificativo multiplo rstituito da
                 <strong>curl_multi_init()</strong>.
  <info>resource</info>  <strong>$ch</strong>  Un identificativo cURL restituito da 
                 <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Restituisce 0 in caso di successo, o uno dei codici di errore <info>CURLM_XXX</info>.

<comment>See Also:</comment>
   * <strong>curl_init()</strong>
   * <strong>curl_multi_init()</strong>
   * <strong>curl_multi_add_handle()</strong>


id: curl_multi_select
type: function
doc:
<comment>Description:</comment>
  Attende l'attività su qualsiasi connessione curl_multi
  
  Blocca finchè c'è attività su qualsiasi connessione curl_multi.

<comment>Param:</comment>
  <info>resource</info>  <strong>$mh     </strong>  Un identificativo multiplo rstituito da
                      <strong>curl_multi_init()</strong>.
  <info>float   </info>  <strong>$timeout</strong>  Il tempo, in secondi, da attendere per una risposta.

<comment>Return:</comment>
  <info>int</info>  In caso di sucesso, restuisce il numero di descrittori contenuti nel  set di descrittori.
       Questo potrebbe essere 0 se non ci fossero attività in qualcuno dei descrittori. In caso di
       fallimento, questa funzione restituirà -1 per un fallimento di select (dalla chiamata di
       sistema select sottostante).

<comment>See Also:</comment>
   * <strong>curl_multi_init()</strong>


id: curl_multi_setopt
type: function
doc:
<comment>Description:</comment>
  Set an option for the cURL multi handle
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  
  <info>int            </info>  <strong>$option      </strong>  One of the <info>CURLMOPT_*</info> constants.
  <info>mixed          </info>  <strong>$value       </strong>  The value to be set on <strong>$option</strong>.
                                  
                                  <strong>$value</strong> should be an <info>int</info> for the following values of the <strong>$option</strong>
                                  parameter: OptionSet <strong>$value</strong> to<info>CURLMOPT_PIPELINING</info> Pass 1 to enable
                                  or 0 to disable. Enabling pipelining on a multi handle will make
                                  it attempt to perform HTTP Pipelining as far as possible for
                                  transfers using this handle. This means that if you add a second
                                  request that can use an already existing connection, the second
                                  request will be "piped" on the same connection. As of cURL 7.43.0,
                                  the value is a bitmask, and you can also pass 2 to try to
                                  multiplex the new transfer over an existing HTTP/2 connection if
                                  possible. Passing 3 instructs cURL to ask for pipelining and
                                  multiplexing independently of each other. As of cURL 7.62.0,
                                  setting the pipelining bit has no effect. Instead of integer
                                  literals, you can also use the CURLPIPE_* constants if available.
                                  <info>CURLMOPT_MAXCONNECTS</info> Pass a number that will be used as the
                                  maximum amount of simultaneously open connections that libcurl may
                                  cache. By default the size will be enlarged to fit four times the
                                  number of handles added via <strong>curl_multi_add_handle()</strong>. When the
                                  cache is full, curl closes the oldest one in the cache to prevent
                                  the number of open connections from increasing.
                                  <info>CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</info> Pass a number that specifies
                                  the chunk length threshold for pipelining in bytes.
                                  <info>CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</info> Pass a number that specifies
                                  the size threshold for pipelining penalty in bytes.
                                  <info>CURLMOPT_MAX_HOST_CONNECTIONS</info> Pass a number that specifies the
                                  maximum number of connections to a single host.
                                  <info>CURLMOPT_MAX_PIPELINE_LENGTH</info> Pass a number that specifies the
                                  maximum number of requests in a pipeline.
                                  <info>CURLMOPT_MAX_TOTAL_CONNECTIONS</info> Pass a number that specifies the
                                  maximum number of simultaneously open connections.
                                  <info>CURLMOPT_PUSHFUNCTION</info> Pass a <info>callable</info> that will be registered to
                                  handle server pushes and should have the following signature:
                                  <info>int</info>pushfunction<info>resource</info><strong>$parent_ch</strong><info>resource</info><strong>$pushed_ch</strong><info>array</info><strong>$headers</strong>
                                  <strong>$parent_ch</strong> The parent cURL handle (the request the client made).
                                  <strong>$pushed_ch</strong> A new cURL handle for the pushed request. <strong>$headers</strong> The
                                  push promise headers.  The push function is supposed to return
                                  either <info>CURL_PUSH_OK</info> if it can handle the push, or <info>CURL_PUSH_DENY</info>
                                  to reject it.
                                  
                                  The parent cURL handle (the request the client made).
                                  
                                  A new cURL handle for the pushed request.
                                  
                                  The push promise headers.
  <info>resource       </info>  <strong>$parent_ch   </strong>  The parent cURL handle (the request the client made).
  <info>resource       </info>  <strong>$pushed_ch   </strong>  A new cURL handle for the pushed request.
  <info>array          </info>  <strong>$headers     </strong>  The push promise headers.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.


id: curl_multi_strerror
type: function
doc:
<comment>Description:</comment>
  Return string describing error code
  
  Returns a text error message describing the given CURLM error code.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  One of the CURLM error codes constants.

<comment>Return:</comment>
  <info>stringnull</info>  Returns error string for valid error code, <info>null</info> otherwise.

<comment>See Also:</comment>
   * <strong>curl_strerror()</strong>
   * cURL error codes


id: curl_pause
type: function
doc:
<comment>Description:</comment>
  Pause and unpause a connection
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>   </info>  <strong>$ch   </strong>  Un identificativo cURL restituito da 
               <strong>curl_init()</strong>.
  <info>int</info>  <strong>$flags</strong>  One of <info>CURLPAUSE_*</info> constants.

<comment>Return:</comment>
  <info>int</info>  Returns an error code (<info>CURLE_OK</info> for no error).


id: curl_reset
type: function
doc:
<comment>Description:</comment>
  Reset all options of a libcurl session handle
  
  This function re-initializes all options set on the given cURL handle to the default values.

<comment>Param:</comment>
  <info></info>  <strong>$ch</strong>  Un identificativo cURL restituito da 
         <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>curl_setopt()</strong>


id: curl_setopt
type: function
doc:
<comment>Description:</comment>
  Imposta una opzione per un trasferimento CURL
  
  Imposta un'opzione sul gestore della sezione cURL dato.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ch    </strong>  Un identificativo cURL restituito da 
                     <strong>curl_init()</strong>.
  <info>int     </info>  <strong>$option</strong>  L'opzione <return>CURLOPT_XXX</return> da impostare.
  <info>mixed   </info>  <strong>$value </strong>  Il valore da impostare sull'<strong>$option</strong>.
                     
                     <strong>$value</strong> dovrebbe essere un <info>bool</info> per i seguenti valori del parametro <strong>$option</strong>:
                     OpzioneImposta <strong>$value</strong> aNote<info>CURLOPT_AUTOREFERER</info><info>true</info> per impostare
                     automaticamente il campo <return>Referer:</return> nelle richieste dove esso segue un redirect
                     <return>Location:</return>.  <info>CURLOPT_BINARYTRANSFER</info><info>true</info> per restituire l'output grezzo quando è
                     usato <info>CURLOPT_RETURNTRANSFER</info>.  Da PHP 5.1.3, questa opzione non ha effetto:
                     sarà sempre restituito l'output grezzo quando verrà usato
                     <info>CURLOPT_RETURNTRANSFER</info>. <info>CURLOPT_COOKIESESSION</info><info>true</info> per marcare questo come un
                     nuovo "session" cookie. Esso forzerà libcurl ad ignorare tutti i cookie che
                     andrà a caricare che sono "session cookies" dalla precedente sessione. Per
                     impostazione predefinita, libcurl memorizza sempre e carica tutti i cookie,
                     indipendente se sono cookie di sessione o no. I cookie di sessione sono cookie
                     senza data di scadenza e sono destinati ad essere vivi e esistenti solo per
                     questa "session".  <info>CURLOPT_CERTINFO</info><info>true</info> per stampare informazioni di
                     certificazione SSL sullo <return>STDERR</return> sui trasferimenti sicuri.  Aggiunta in cURL
                     7.19.1.  Disponibile da PHP 5.3.2.  Richiede la presenza di <info>CURLOPT_VERBOSE</info> per
                     avere affetto. <info>CURLOPT_CONNECT_ONLY</info><info>true</info> indica alla libreria di effettuare
                     tutte le autenticazioni proxy  e configurazioni di connessione necessarie, ma
                     nessun trasferimento dati. Questa opzione è implementata per  HTTP, SMTP e
                     POP3.  Aggiunta in 7.15.2. Disponibile da PHP 5.5.0. <info>CURLOPT_CRLF</info><info>true</info> per
                     convertire i ritorni a capo Unix in ritorni a capo CRLF sui trasferimenti.
                     <info>CURLOPT_DNS_USE_GLOBAL_CACHE</info><info>true</info> per usare una cache DNS globale. Questa
                     opzione non è thread-safe ed è abilitata per impostazione predefinita.
                     <info>CURLOPT_FAILONERROR</info><info>true</info> per fallire in modo verboso se il codice HTTP
                     restituito è più grande o uguale a 400. Il comportamento predefinito è di
                     restituire la pagina normalmente, ignorando il codice.  <info>CURLOPT_FILETIME</info><info>true</info>
                     per tentare di recuperare la data di modifica del documento remoto. Questo
                     valore può essere recuperato utilizzando l'opzione <strong>$CURLINFO_FILETIME</strong> con
                     <strong>curl_getinfo()</strong>.  <info>CURLOPT_FOLLOWLOCATION</info><info>true</info> per seguire qualsiasi header
                     <return>"Location: "</return> che il server invia come parte dell'header HTTP (notare che questo
                     è ricorsivo, PHP seguirà lo stesso numero di header <return>"Location: "</return> che vengono
                     inviati, a meno che non sia impostato <info>CURLOPT_MAXREDIRS</info>).
                     <info>CURLOPT_FORBID_REUSE</info><info>true</info> per forzare la connessione a chiudersi esplicitamente
                     quando ha finito l'elaborazione, e per non essere riutilizzata.
                     <info>CURLOPT_FRESH_CONNECT</info><info>true</info> per forzare l'uso di una nuova connessione invece di
                     una dalla cache.  <info>CURLOPT_FTP_USE_EPRT</info><info>true</info> per usare EPRT (e LPRT) quando si
                     effettuano download FTP attivi. Utilizzare <info>false</info> per disabilitare EPRT e LPRT e
                     usare solo PORT.  <info>CURLOPT_FTP_USE_EPSV</info><info>true</info> per provare in primo luogo un
                     comando EPSV per i trasferimenti FTP prima di ritornare a PASV. Impostare a
                     <info>false</info> per disabilitare EPSV.  <info>CURLOPT_FTP_CREATE_MISSING_DIRS</info><info>true</info> per creare le
                     cartelle mancanti quando un'operazione FTP incontra un percorso che al momento
                     non esiste.  <info>CURLOPT_FTPAPPEND</info><info>true</info> per aggiungere al file remoto al posto di
                     sovrascriverlo.  <info>CURLOPT_TCP_NODELAY</info><info>true</info> per disabilitare l'algoritmo di Nagle
                     del TCP, che prova a minimizzare il numero di piccoli pacchetti sulla rete.
                     Disponibile da PHP 5.2.1 per versioni compilate con libcurl 7.11.2 o maggiore.
                     <info>CURLOPT_FTPASCII</info> Un alias di <info>CURLOPT_TRANSFERTEXT</info>. Usare quella invece.
                     <info>CURLOPT_FTPLISTONLY</info><info>true</info> per elencare solo i nomi di una directory FTP.
                     <info>CURLOPT_HEADER</info><info>true</info> per includere l'header nell'output.  <info>CURLINFO_HEADER_OUT</info><info>true</info>
                     per tracciare la stringa della richiesta del gestore.  Disponibile da PHP
                     5.1.3. Il prefisso <info>CURLINFO_</info> è intenzionale. <info>CURLOPT_HTTPGET</info><info>true</info> per resettare
                     il metodo della richiesta HTTP a GET. Dato che GET è l'impostazione di default,
                     questo è necessario solo se il metodo della richiesta è stato modificato.
                     <info>CURLOPT_HTTPPROXYTUNNEL</info><info>true</info> per passare attraverso ad un dato proxy HTTP.
                     <info>CURLOPT_MUTE</info><info>true</info> per essere completamente silenzioso per quanto riguarda le
                     funzioni cURL.  Rimossa in cURL 7.15.5 (Si può invece usare
                     CURLOPT_RETURNTRANSFER) <info>CURLOPT_NETRC</info><info>true</info> per esaminare il file ~/.netrc per
                     trovare un username e una password per il sito remoto con cui è stata stabilita
                     una connessione.  <info>CURLOPT_NOBODY</info><info>true</info> per escludere il corpo dall'output. Il
                     metodo della richiesta è allora impostato a HEAD. Modificando questo a <info>false</info>
                     non lo imposta a GET.  <info>CURLOPT_NOPROGRESS</info><info>true</info> per disabilitare il metro del
                     progresso per i trasferimenti cURL.  PHP automaticamente imposta questa opzione
                     a <info>true</info>, questo dovrebbe essere solo cambiato per scopi di debug.
                     <info>CURLOPT_NOSIGNAL</info><info>true</info> per ignorare qualsiasi funzione cURL che causa un segnale
                     da essere inviato al processo PHP. Questa è attivata per impostazione
                     predefinita nelle SAPI multi-thread in modo che le opzioni del timeout possano
                     essere usate.  Aggiunta in cURL 7.10. <info>CURLOPT_POST</info><info>true</info> per fare un HTTP POST
                     regolare. Questo POST è il normale tipo <return>application/x-www-form-urlencoded</return>, più
                     comunemente utilizzato dai form HTML.  <info>CURLOPT_PUT</info><info>true</info> per HTTP PUT un file. Il
                     file da PUT deve essere impostato con <info>CURLOPT_INFILE</info> e <info>CURLOPT_INFILESIZE</info>.
                     <info>CURLOPT_RETURNTRANSFER</info><info>true</info> per restituire il trasferimento come una stringa del
                     valore di ritorno di <strong>curl_exec()</strong> al posto di stamparla direttamente.
                     <info>CURLOPT_SAFE_UPLOAD</info><info>true</info> per disabilitare il supporto per il prefisso <return>@</return> per
                     effettuare l'upload di file in <info>CURLOPT_POSTFIELDS</info>, che significa che i valori
                     che iniziano con <return>@</return> possono essere tranquillamente passati come campi.
                     Alternativamente <class>CURLFile</class> può essere usato per gli upload.  Aggiunta in PHP
                     5.5.0 con <info>false</info> come valore predefinitoì. PHP 5.6.0 cambia il valore
                     predefinito a <info>true</info>. <info>CURLOPT_SSL_VERIFYPEER</info><info>false</info> per non fare verificare a cURL
                     i certificati del peer. Possono essere specificati certificati alternativi con
                     cui verificare con l'opzione <info>CURLOPT_CAINFO</info> o può essere specificata una
                     directory dei certificati con l'opzione <info>CURLOPT_CAPATH</info>. <info>true</info> per impostazione
                     predefinita di cURL 7.10. Bundle predefinito installato di cURL 7.10.
                     <info>CURLOPT_TRANSFERTEXT</info><info>true</info> per usare la modalità ASCII per i trasferimenti FTP.
                     Per LDAP, esso recupera i dati in testo normale invece di HTML. Sui sistemi
                     Windows, esso non imposterà <return>STDOUT</return> nella modalità binaria.
                     <info>CURLOPT_UNRESTRICTED_AUTH</info><info>true</info> per mantenere l'invio dell'username e della
                     password quando si seguono le locations (utilizzando <info>CURLOPT_FOLLOWLOCATION</info>),
                     anche quando l'hostname è cambiato.  <info>CURLOPT_UPLOAD</info><info>true</info> per preparare un
                     upload.  <info>CURLOPT_VERBOSE</info><info>true</info> per stampare informazioni verbose. Scrive l'output
                     nello <return>STDERR</return>, o il file specificato usando <info>CURLOPT_STDERR</info>.
                     
                     <info>true</info> per disabilitare il metro del progresso per i trasferimenti cURL.  PHP
                     automaticamente imposta questa opzione a <info>true</info>, questo dovrebbe essere solo
                     cambiato per scopi di debug.
                     
                     PHP automaticamente imposta questa opzione a <info>true</info>, questo dovrebbe essere solo
                     cambiato per scopi di debug.
                     
                     <strong>$value</strong> dovrebbe essere un <info>integer</info> per i seguenti valori del parametro <strong>$option</strong>:
                     OpzioneImposta <strong>$value</strong> aNote<info>CURLOPT_BUFFERSIZE</info> La dimensione del buffer da usare
                     per ogni lettura. Non ci sono garanzie che questa richiesta verrà soddisfatta,
                     comunque.  Aggiunta in cURL 7.10. <info>CURLOPT_CLOSEPOLICY</info> Uno dei valori
                     <info>CURLCLOSEPOLICY_*</info>.  Questa opzione è deprecata, poichè non è mai stata
                     implementata in cURL e non ha mai avuto alcun effetto.   Rimossa in PHP 5.6.0.
                     <info>CURLOPT_CONNECTTIMEOUT</info> Il numero di secondi da aspettare provando a
                     connettersi. Usare 0 per attendere indefinitamente.  <info>CURLOPT_CONNECTTIMEOUT_MS</info>
                     Il numero di millisecondi da aspettare mentre si prova a connettersi. Usare 0
                     per attendere indefinitamente.  Se libcurl è costruito per utilizzare il
                     resolver dei nomi di sistema standard, quella porzione della connessione
                     utilizzerà comunque la seconda risoluzione per timeout con un timeout minimo
                     permesso di un secondo.  Aggiunta in cURL 7.16.2. Disponibile da PHP 5.2.3.
                     <info>CURLOPT_DNS_CACHE_TIMEOUT</info> Il numero di secondi per mantenere elementi DNS in
                     memoria. Questa opzione è impostata a 120 (2 minuti) per impostazione
                     predefinita.  <info>CURLOPT_FTPSSLAUTH</info> Il metodo di autenticazione FTP (quando è
                     attivo): <return>CURLFTPAUTH_SSL</return> (prova SSL per primo), <return>CURLFTPAUTH_TLS</return> (prova TLS per
                     primo), o <return>CURLFTPAUTH_DEFAULT</return> (lascia decidere a cURL).  Aggiunta in cURL
                     7.12.2. <info>CURLOPT_HTTP_VERSION</info><strong>$CURL_HTTP_VERSION_NONE</strong> (predefinito, lascia
                     decidere a CURL quale versione utilizzare), <strong>$CURL_HTTP_VERSION_1_0</strong> (forza
                     HTTP/1.0), o <strong>$CURL_HTTP_VERSION_1_1</strong> (forza HTTP/1.1).  <info>CURLOPT_HTTPAUTH</info> Il
                     metodo(i) di autenticazione HTTP da utilizzare. Le opzioni sono:
                     <strong>$CURLAUTH_BASIC</strong>, <strong>$CURLAUTH_DIGEST</strong>, <strong>$CURLAUTH_GSSNEGOTIATE</strong>, <strong>$CURLAUTH_NTLM</strong>,
                     <strong>$CURLAUTH_ANY</strong>, e <strong>$CURLAUTH_ANYSAFE</strong>.  L'operatore bitwise <return>|</return> (or) può essere
                     usato per combinare più di un metodo. Se questo è fatto, cURL chiederà al
                     server per vedere quali metodi esso supporta e sceglierne il migliore.
                     <strong>$CURLAUTH_ANY</strong> è un alias per <return>CURLAUTH_BASIC | CURLAUTH_DIGEST |
                     CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM</return>. <strong>$CURLAUTH_ANYSAFE</strong> è un alias per
                     <return>CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM</return>.  <info>CURLOPT_INFILESIZE</info> La
                     dimensione attesa, in byte, del file quando si effettua l'upload di un file ad
                     un sito remoto. Notare che usando questa opzione non fermerà libcurl
                     dall'inviare più dati, poichè ciò che viene esattamente inviato dipende da
                     <info>CURLOPT_READFUNCTION</info>.  <info>CURLOPT_LOW_SPEED_LIMIT</info> La velocità di trasferimento, in
                     bytes al secondo, in cui la trasmissione dovrebbe stare al di sotto durante
                     <info>CURLOPT_LOW_SPEED_TIME</info> secondi affinchè PHP consideri la trasmissione troppo
                     lenta e la abortisca.  <info>CURLOPT_LOW_SPEED_TIME</info> Il numero di secondi in cui il
                     trasferimento dovrebbe stare al di sotto <info>CURLOPT_LOW_SPEED_LIMIT</info> in modo che
                     PHP consideri la trasmissione troppo lenta e la abortisca.  <info>CURLOPT_MAXCONNECTS</info>
                     La quantità massima di connessioni persistenti che sono permesse. Quando il
                     limite è raggiunto, viene usata <info>CURLOPT_CLOSEPOLICY</info> per determinare quale
                     connessione chiudere.  <info>CURLOPT_MAXREDIRS</info> La quantità massima di redirect HTTP
                     da seguire. Usa questa opzione accanto a <info>CURLOPT_FOLLOWLOCATION</info>.  <info>CURLOPT_PORT</info>
                     Un numero di porta alternativo al quale connettersi.  <info>CURLOPT_POSTREDIR</info> Una
                     maschera di bit di 1 (301 Moved Permanently), 2 (302 Found) e 4 (303 See Other)
                     se il metodo HTTP POST dovesse essere mantenuto quando <info>CURLOPT_FOLLOWLOCATION</info> è
                     impostato e si verifica un tipo specifico di redirect.  Aggiunta in cURL
                     7.19.1. Disponibile da PHP 5.3.2. <info>CURLOPT_PROTOCOLS</info> Una maschera di bit di
                     valori <info>CURLPROTO_*</info>. Se usata, questa maschera di bit  limita quali protocolli
                     può usare libcurl nel trasferimento. Questo permette di avere una libcurl
                     costruita per supportare un ampio range di protocolli ma tuttavia limita
                     specifici trasferimenti ad essere permessi solo per usare un sottoinsieme di
                     essi. Per impostazione predefinita libcurl accetterà tutti i protocolli che
                     supporta.  Vedere anche <info>CURLOPT_REDIR_PROTOCOLS</info>.  Le opzioni valide per il
                     protocollo sono:  <strong>$CURLPROTO_HTTP</strong>, <strong>$CURLPROTO_HTTPS</strong>, <strong>$CURLPROTO_FTP</strong>,
                     <strong>$CURLPROTO_FTPS</strong>, <strong>$CURLPROTO_SCP</strong>, <strong>$CURLPROTO_SFTP</strong>, <strong>$CURLPROTO_TELNET</strong>,
                     <strong>$CURLPROTO_LDAP</strong>, <strong>$CURLPROTO_LDAPS</strong>, <strong>$CURLPROTO_DICT</strong>, <strong>$CURLPROTO_FILE</strong>,
                     <strong>$CURLPROTO_TFTP</strong>, <strong>$CURLPROTO_ALL</strong>  Aggiunta in cURL 7.19.4. <info>CURLOPT_PROXYAUTH</info>
                     I(l) metodi(o) dell'autenticazione HTTP da utilizzare per la connessione proxy.
                     Utilizza la stessa maschera di bit descritta in <info>CURLOPT_HTTPAUTH</info>. Per
                     l'autenticazione del proxy, solo <strong>$CURLAUTH_BASIC</strong> e <strong>$CURLAUTH_NTLM</strong> sono
                     supportate al momento.  Aggiunta in cURL 7.10.7. <info>CURLOPT_PROXYPORT</info> Il numero
                     della porta del proxy al quale connettersi. Questo numero della porta può anche
                     essere impostato in <info>CURLOPT_PROXY</info>.  <info>CURLOPT_PROXYTYPE</info> O <strong>$CURLPROXY_HTTP</strong> (valore
                     predefinito), <info>CURLPROXY_SOCKS4</info>, <info>CURLPROXY_SOCKS5</info>, <info>CURLPROXY_SOCKS4A</info> o
                     <strong>$CURLPROXY_SOCKS5_HOSTNAME</strong>.  Aggiunta in cURL 7.10. <info>CURLOPT_REDIR_PROTOCOLS</info>
                     Maschera di bit di valori di <info>CURLPROTO_*</info>. Se usata, questa maschera di bit
                     limita quali protocolli può usare libcurl in un trasferimento che segue ad un
                     redirect quando è abilitata <info>CURLOPT_FOLLOWLOCATION</info>. Questo permette di limitare
                     specifici trasferimenti ad essere permessi solo ad usare un sottoinsieme di
                     protocolli nei redirect. Per impostazione predefinita libcurl permetterà tutti
                     i protocolli eccetto per FILE e SCP. Questa è una differenza rispetto alle
                     versioni pre-7.19.4 che incondizionatamente avrebbe seguito tutti i protocolli
                     supportati. Vedere anche <info>CURLOPT_PROTOCOLS</info> per i valori delle costanti dei
                     protocolli.  Aggiunta in cURL 7.19.4. <info>CURLOPT_RESUME_FROM</info> L'offset, in byte,
                     dal quale riprendere un trasferimento.  <info>CURLOPT_SSL_VERIFYHOST</info> 1 per
                     controllare l'esistenza di un nome comune nel certificato peer SSL. 2 per
                     controllare l'esistenza di un nome comune e inoltre verificare che esso
                     corrisponde all'hostname fornito. In ambienti di produzione il valore di questa
                     opzione dovrebbe essere tenuto a 2 (valore predefinito).  Supporto per il
                     valore 1 rimosso in cURL 7.28.1 <info>CURLOPT_SSLVERSION</info> Uno di
                     <info>CURL_SSLVERSION_DEFAULT</info> (0), <info>CURL_SSLVERSION_TLSv1</info> (1), <info>CURL_SSLVERSION_SSLv2</info>
                     (2), <info>CURL_SSLVERSION_SSLv3</info> (3), <info>CURL_SSLVERSION_TLSv1_0</info> (4),
                     <info>CURL_SSLVERSION_TLSv1_1</info> (5) o <info>CURL_SSLVERSION_TLSv1_2</info> (6).  La cosa migliore è
                     non impostare questo e usare quello di default. Impostarlo a 2 o 3 è molto
                     pericoloso date le conosciute vulnerabilità in SSLv2 e SSLv3.
                     <info>CURLOPT_TIMECONDITION</info> Come viene trattato <info>CURLOPT_TIMEVALUE</info>. Usare
                     <strong>$CURL_TIMECOND_IFMODSINCE</strong> per restituire la pagina solo se è stata modificata
                     dall'ora specificata in <info>CURLOPT_TIMEVALUE</info>. Se non è stata modificata, verrà
                     restituito un header <return>"304 Not Modified"</return> assumendo che <info>CURLOPT_HEADER</info> sia <info>true</info>.
                     Utilizzare <strong>$CURL_TIMECOND_IFUNMODSINCE</strong> per l'effetto contrario.
                     <strong>$CURL_TIMECOND_IFMODSINCE</strong> è il valore predefinito.  <info>CURLOPT_TIMEOUT</info> Il numero
                     massimo di secondi per permettere alle funzioni cURL di essere eseguite.
                     <info>CURLOPT_TIMEOUT_MS</info> Il numero massimo di millisecondi per permettere alle
                     funzioni cURL di essere eseguite.  Se libcurl è costruito per utilizzare il
                     resolver dei nomi di sistema standard, quella porzione della connessione
                     utilizzerà comunque la seconda risoluzione per timeout con un timeout minimo
                     permesso di un secondo.  Aggiunta in cURL 7.16.2. Disponibile da PHP 5.2.3.
                     <info>CURLOPT_TIMEVALUE</info> Il tempo in secondi dall'1 Gennaio 1970. Il tempo verrà usato
                     da <info>CURLOPT_TIMECONDITION</info>. Per impostazione predefinita, viene utilizzato
                     <strong>$CURL_TIMECOND_IFMODSINCE</strong>.  <info>CURLOPT_MAX_RECV_SPEED_LARGE</info> Se un download eccede
                     questa velocità (contata in byte al secondo) in media cumulativa durante il
                     trasferimento, il trasferimento si metterà in pausa per mantenere il tasso
                     medio inferiore o uguale al valore del parametro. Per impostazione predefinita
                     a velocità senza limiti.  Aggiunta in cURL 7.15.5. Disponibile da PHP 5.4.0.
                     <info>CURLOPT_MAX_SEND_SPEED_LARGE</info> Se un upload eccede questa velocità (contata in
                     byte al secondo) in media cumulativa durante il trasferimento, il trasferimento
                     si metterà in pausa per mantenere il tasso medio inferiore o uguale al valore
                     del parametro. Per impostazione predefinita a velocità senza limiti.  Aggiunta
                     in cURL 7.15.5. Disponibile da PHP 5.4.0. <info>CURLOPT_SSH_AUTH_TYPES</info> Una maschera
                     di bit consistente in una o più di  <info>CURLSSH_AUTH_PUBLICKEY</info>,
                     <info>CURLSSH_AUTH_PASSWORD</info>,  <info>CURLSSH_AUTH_HOST</info>,  <info>CURLSSH_AUTH_KEYBOARD</info>. Impostare a
                     <info>CURLSSH_AUTH_ANY</info> per lasciar sceglierne una a libcurl.  Aggiunta in cURL
                     7.16.1.  <info>CURLOPT_IPRESOLVE</info> Permette ad un'applicazione di selezionare quale
                     tipo di indirizzo IP utilizzare quando si risolvono i nomi degli host. Questo è
                     interessante solo quando si utilizzano nomi di host che risolvono indirizzi
                     usando più di una versione di IP, i valori possibili sono
                     <info>CURL_IPRESOLVE_WHATEVER</info>,  <info>CURL_IPRESOLVE_V4</info>,  <info>CURL_IPRESOLVE_V6</info>, per valore
                     predefinito <info>CURL_IPRESOLVE_WHATEVER</info>.  Aggiunta in cURL 7.10.8.
                     
                     Questa opzione è deprecata, poichè non è mai stata implementata in cURL e non
                     ha mai avuto alcun effetto.
                     
                     Il metodo(i) di autenticazione HTTP da utilizzare. Le opzioni sono:
                     <strong>$CURLAUTH_BASIC</strong>, <strong>$CURLAUTH_DIGEST</strong>, <strong>$CURLAUTH_GSSNEGOTIATE</strong>, <strong>$CURLAUTH_NTLM</strong>,
                     <strong>$CURLAUTH_ANY</strong>, e <strong>$CURLAUTH_ANYSAFE</strong>.
                     
                     L'operatore bitwise <return>|</return> (or) può essere usato per combinare più di un metodo. Se
                     questo è fatto, cURL chiederà al server per vedere quali metodi esso supporta e
                     sceglierne il migliore.
                     
                     <strong>$CURLAUTH_ANY</strong> è un alias per <return>CURLAUTH_BASIC | CURLAUTH_DIGEST |
                     CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM</return>.
                     
                     <strong>$CURLAUTH_ANYSAFE</strong> è un alias per <return>CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |
                     CURLAUTH_NTLM</return>.
                     
                     Una maschera di bit di valori <info>CURLPROTO_*</info>. Se usata, questa maschera di bit
                     limita quali protocolli può usare libcurl nel trasferimento. Questo permette di
                     avere una libcurl costruita per supportare un ampio range di protocolli ma
                     tuttavia limita specifici trasferimenti ad essere permessi solo per usare un
                     sottoinsieme di essi. Per impostazione predefinita libcurl accetterà tutti i
                     protocolli che supporta.  Vedere anche <info>CURLOPT_REDIR_PROTOCOLS</info>.
                     
                     Le opzioni valide per il protocollo sono:  <strong>$CURLPROTO_HTTP</strong>, <strong>$CURLPROTO_HTTPS</strong>,
                     <strong>$CURLPROTO_FTP</strong>, <strong>$CURLPROTO_FTPS</strong>, <strong>$CURLPROTO_SCP</strong>, <strong>$CURLPROTO_SFTP</strong>,
                     <strong>$CURLPROTO_TELNET</strong>, <strong>$CURLPROTO_LDAP</strong>, <strong>$CURLPROTO_LDAPS</strong>, <strong>$CURLPROTO_DICT</strong>,
                     <strong>$CURLPROTO_FILE</strong>, <strong>$CURLPROTO_TFTP</strong>, <strong>$CURLPROTO_ALL</strong>
                     
                     La cosa migliore è non impostare questo e usare quello di default. Impostarlo a
                     2 o 3 è molto pericoloso date le conosciute vulnerabilità in SSLv2 e SSLv3.
                     
                     <strong>$value</strong> dovrebbe essere una <info>string</info> per i seguenti valori del parametro <strong>$option</strong>:
                     OpzioneImposta <strong>$value</strong> aNote<info>CURLOPT_CAINFO</info> Il nome di un file che contiene uno o
                     più certificati con cui verificare i peer. Questo ha senso solo quando è usato
                     in combinazione con <info>CURLOPT_SSL_VERIFYPEER</info>.  Potrebbe richiedere un percorso
                     assoluto. <info>CURLOPT_CAPATH</info> Una directory che contiene certificati CA multipli.
                     Usare questa opzione accanto a <info>CURLOPT_SSL_VERIFYPEER</info>.  <info>CURLOPT_COOKIE</info> Il
                     contenuto dell'header <return>"Cookie: "</return> da utilizzare nella richiesta HTTP. Notare che
                     i cookie multipli sono separati con un punto e virgola seguito da uno spazio
                     (per esempio, "<return>fruit=apple; colour=red</return>")  <info>CURLOPT_COOKIEFILE</info> Il nome del file
                     che contiene i dati dei cookie. Il file dei cookie può essere nel formato
                     Netscape, o anche come semplici header con stile HTTP scaricati in un file. Se
                     il nome è una stringa vuota, non viene caricato nessun cookie, ma la gestione
                     dei cookie è ancora abilitata.  <info>CURLOPT_COOKIEJAR</info> Il nome di un file per
                     salvare tutti i cookie interni quando il gestore viene chiuso, per esempio dopo
                     una chiamata a curl_close.  <info>CURLOPT_CUSTOMREQUEST</info> Un metodo di richiesta
                     personalizzato da usare al posto di <return>"GET"</return> o <return>"HEAD"</return> quando si effettua una
                     richiesta HTTP. Questo è utile per effettuare <return>"DELETE"</return> o altro, richieste HTTP
                     più oscure. I valori validi sono cose come <return>"GET"</return>, <return>"POST"</return>, <return>"CONNECT"</return> e così via;
                     cioè non inserire qui un'intera linea di richiesta HTTP. Per esempio, inserire
                     <return>"GET /index.html HTTP/1.0\r\n\r\n"</return> sarebbe scorretto.  Non fare questo senza
                     essere prima sicuri che il server supporti il metodo della richiesta
                     personalizzata.   <info>CURLOPT_EGDSOCKET</info> Come <info>CURLOPT_RANDOM_FILE</info>, eccetto un nome
                     del file ad un socket Entropy Gathering Daemon.  <info>CURLOPT_ENCODING</info> I contenuti
                     dell'header <return>"Accept-Encoding: "</return>. Questo abilita la decodifica della risposta.
                     Le codifiche supportate sono <return>"identity"</return>, <return>"deflate"</return>, e <return>"gzip"</return>. Se viene
                     impostata una stringa vuota, <return>""</return>, viene inviato un header contenente tutte le
                     codifiche supportate.  Aggiunta in cURL 7.10. <info>CURLOPT_FTPPORT</info> Il valore che
                     verrà usato per ottenere l'indirizzo IP da usare per l'istruzione FTP "PORT".
                     L'istruzione "PORT" dice al server remoto di connetersi al nostro indirizzo IP
                     specificato.  La stringa può essere un semplice indirizzo IP, un hostname, un
                     nome di un'interfaccia di rete (sotto Unix), o semplicemente un chiaro '-' per
                     usare l'indirizzo IP di default del sistema.  <info>CURLOPT_INTERFACE</info> Il nome
                     dell'interfaccia di rete in uscita da utilizzare. Questo può essere un nome di
                     un'interfaccia, un indirizzo IP o un host name.  <info>CURLOPT_KEYPASSWD</info> La password
                     richiesta per utilizzare la chiave privata <info>CURLOPT_SSLKEY</info>  o  la chiave privata
                     <info>CURLOPT_SSH_PRIVATE_KEYFILE</info>.   Aggiunta in cURL 7.16.1.  <info>CURLOPT_KRB4LEVEL</info> Il
                     livello di sicurezza KRB4 (Kerberos 4). Ognuno dei seguenti valori (in ordine
                     dal meno al più potente) sono validi: <return>"clear"</return>, <return>"safe"</return>, <return>"confidential"</return>,
                     <return>"private".</return>. Se la stringa non corrisponde ad una di queste, viene utilizzato
                     <return>"private"</return>. Impostando questa opzione a <info>null</info> verrà disabilitata la sicurezza di
                     KRB4. Attualmente la sicurezza di KRB4 funziona solo con transazione FTP.
                     <info>CURLOPT_POSTFIELDS</info> Tutti i dati da inviare in un'operazione HTTP "POST". Per
                     effettuare il post di un file, anteporre al nome del file un <return>@</return> e utilizzare il
                     percorso completo. Il tipo del file può essere esplicitamente specificato
                     inserendo dopo il nome del file il tipo nel formato '<return>;type=mimetype</return>'. Questo
                     parametro può essere passato sia come una stringa codificata in url come
                     '<return>para1=val1&para2=val2&...</return>'  oppure come un array con il nome del campo come
                     chiave e il dato del campo come valore. Se <strong>$value</strong> è un array, l'header
                     <return>Content-Type</return> sarà settato a <return>multipart/form-data</return>.  Da PHP 5.2.0, <strong>$value</strong> deve
                     essere un array se i file sono passati a questa opzione con il prefisso <return>@</return>.  Da
                     PHP 5.5.0, il prefisso <return>@</return> è deprecato e i file possono essere inviati usando
                     <class>CURLFile</class>. Il  prefisso <return>@</return> può essere disabilitato per il passaggio sicuro dei
                     valori che iniziano con <return>@</return> impostando l'opzione <info>CURLOPT_SAFE_UPLOAD</info> a <info>true</info>.
                     <info>CURLOPT_PROXY</info> Il proxy HTTP da utilizzare come tunnel per le richieste.
                     <info>CURLOPT_PROXYUSERPWD</info> Un username ed una password formattati come
                     <return>"[username]:[password]"</return> da usare per la connessione al proxy.
                     <info>CURLOPT_RANDOM_FILE</info> Un nome del file da utilizzare per inizializzare il
                     generatore di numeri casuali per SSL.  <info>CURLOPT_RANGE</info> L'intervallo di dati da
                     ricevere nel formato <return>"X-Y"</return> dove X o Y sono opzionali. I trasferimenti HTTP
                     supportano anche diversi intervalli, separati da virgole nel formato <return>"X-Y,N-M"</return>.
                     <info>CURLOPT_REFERER</info> I contenuti dell'header <return>"Referer: "</return> da utilizzare in una
                     richiesta HTTP.  <info>CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</info> Una stringa contenente 32
                     cifre esadecimali. La stringa dovrebbe essere il checksum MD5 della chiave
                     pubblica dell'host remoto, e libcurl rifiuterà la connessione all'host a meno
                     che l'md5sums non corrisponda.  Questa opzione è solo per i trasferimenti SCP e
                     SFTP.  Aggiunta in cURL 7.17.1.  <info>CURLOPT_SSH_PUBLIC_KEYFILE</info> Il nome del file
                     per la propria chiave pubblica. Se non utilizzato, il valore predefinito di
                     libcurl è $HOME/.ssh/id_dsa.pub se la variabile di ambiente HOME è impostata,
                     e solo "id_dsa.pub" nella directory corrente se HOME non è impostata.  Aggiunta
                     in cURL 7.16.1.  <info>CURLOPT_SSH_PRIVATE_KEYFILE</info> Il nome del file per la propria
                     chiave privata. Se non utilizzato, il valore predefinito di libcurl è
                     $HOME/.ssh/id_dsa se la variabile di ambiente HOME è impostata,  e solo
                     "id_dsa" nella directory corrente se HOME non è impostata. Se il file è
                     protetto con password, impostare la password con  <info>CURLOPT_KEYPASSWD</info>.  Aggiunta
                     in cURL 7.16.1.  <info>CURLOPT_SSL_CIPHER_LIST</info> Una lista di cifrari da usare per SSL.
                     Per esempio, <return>RC4-SHA</return> e <return>TLSv1</return> sono liste di cifrari valide.  <info>CURLOPT_SSLCERT</info> Il
                     nome di un file contenente un certificato formattato PEM.
                     <info>CURLOPT_SSLCERTPASSWD</info> La password richiesta per utilizzare il certificato
                     <info>CURLOPT_SSLCERT</info>.  <info>CURLOPT_SSLCERTTYPE</info> Il formato del certificato. I formati
                     supportati sono <return>"PEM"</return> (predefinito), <return>"DER"</return>, e <return>"ENG"</return>.  Aggiunta in cURL 7.9.3.
                     <info>CURLOPT_SSLENGINE</info> L'identificatore per il motore di crypto della chiave SSL
                     privata specificata in <info>CURLOPT_SSLKEY</info>.  <info>CURLOPT_SSLENGINE_DEFAULT</info>
                     L'identificatore per il motore di crypto usato per le operazioni di crypto
                     asimmetriche.  <info>CURLOPT_SSLKEY</info> Il nome di un file contenente una chiave SSL
                     privata.  <info>CURLOPT_SSLKEYPASSWD</info> La password segreta necessaria per utilizzare la
                     chiave SSL privata specificata in <info>CURLOPT_SSLKEY</info>.  Dato che questa opzione
                     contiene una password delicata, ricordarsi di mantenere lo script PHP che la
                     contiene sicuro.   <info>CURLOPT_SSLKEYTYPE</info> Il tipo di chiave della chiave SSL
                     privata specificata in <info>CURLOPT_SSLKEY</info>. I tipi di chiave supportati sono <return>"PEM"</return>
                     (predefinito), <return>"DER"</return>, e <return>"ENG"</return>.  <info>CURLOPT_URL</info> L'URL da raggiungere. Questo può
                     anche essere impostato quando si inizializza una sessione con <strong>curl_init()</strong>.
                     <info>CURLOPT_USERAGENT</info> I contenuti dell'header <return>"User-Agent: "</return> da utilizzare nella
                     richiesta HTTP.  <info>CURLOPT_USERPWD</info> Un username e password formattati come
                     <return>"[username]:[password]"</return> da utilizzare per la  connessione.
                     
                     Un metodo di richiesta personalizzato da usare al posto di <return>"GET"</return> o <return>"HEAD"</return>
                     quando si effettua una richiesta HTTP. Questo è utile per effettuare <return>"DELETE"</return> o
                     altro, richieste HTTP più oscure. I valori validi sono cose come <return>"GET"</return>, <return>"POST"</return>,
                     <return>"CONNECT"</return> e così via; cioè non inserire qui un'intera linea di richiesta HTTP.
                     Per esempio, inserire <return>"GET /index.html HTTP/1.0\r\n\r\n"</return> sarebbe scorretto.
                     Non fare questo senza essere prima sicuri che il server supporti il metodo
                     della richiesta personalizzata.
                     
                     Non fare questo senza essere prima sicuri che il server supporti il metodo
                     della richiesta personalizzata.
                     
                     Tutti i dati da inviare in un'operazione HTTP "POST". Per effettuare il post di
                     un file, anteporre al nome del file un <return>@</return> e utilizzare il percorso completo. Il
                     tipo del file può essere esplicitamente specificato inserendo dopo il nome del
                     file il tipo nel formato '<return>;type=mimetype</return>'. Questo parametro può essere passato
                     sia come una stringa codificata in url come '<return>para1=val1&para2=val2&...</return>'  oppure
                     come un array con il nome del campo come chiave e il dato del campo come
                     valore. Se <strong>$value</strong> è un array, l'header <return>Content-Type</return> sarà settato a
                     <return>multipart/form-data</return>.
                     
                     Da PHP 5.2.0, <strong>$value</strong> deve essere un array se i file sono passati a questa
                     opzione con il prefisso <return>@</return>.
                     
                     Da PHP 5.5.0, il prefisso <return>@</return> è deprecato e i file possono essere inviati usando
                     <class>CURLFile</class>. Il  prefisso <return>@</return> può essere disabilitato per il passaggio sicuro dei
                     valori che iniziano con <return>@</return> impostando l'opzione <info>CURLOPT_SAFE_UPLOAD</info> a <info>true</info>.
                     
                     La password segreta necessaria per utilizzare la chiave SSL privata specificata
                     in <info>CURLOPT_SSLKEY</info>.  Dato che questa opzione contiene una password delicata,
                     ricordarsi di mantenere lo script PHP che la contiene sicuro.
                     
                     Dato che questa opzione contiene una password delicata, ricordarsi di mantenere
                     lo script PHP che la contiene sicuro.
                     
                     <strong>$value</strong> dovrebbe essere un array per i seguenti valori del parametro <strong>$option</strong>:
                     OpzioneImposta <strong>$value</strong> aNote<info>CURLOPT_HTTP200ALIASES</info> Un array di risposte HTTP 200
                     che saranno trattate come risposte valide e non come errori.  Aggiunta in cURL
                     7.10.3. <info>CURLOPT_HTTPHEADER</info> Un array di campi header HTTP da impostare, nel
                     formato  array('Content-type: text/plain', 'Content-length: 100')
                     <info>CURLOPT_POSTQUOTE</info> Un array di comandi FTP da eseguire sul server dopo che la
                     richiesta FTP è stata eseguita.  <info>CURLOPT_QUOTE</info> Un array di comandi FTP da
                     eseguire sul server prima della richiesta FTP.
                     
                     <strong>$value</strong> dovrebbe essere una risorsa di flusso (usando <strong>fopen()</strong>, per esempio) per
                     i seguenti valori del parametro <strong>$option</strong>: OpzioneImposta <strong>$value</strong> a<info>CURLOPT_FILE</info> Il
                     file sul quale dovrebbe scrivere il trasferimento. Il valore predefinito è
                     <return>STDOUT</return> (la finestra del browser). <info>CURLOPT_INFILE</info> Il file dal quale il
                     trasferimento dovrebbe leggere in fase di upload. <info>CURLOPT_STDERR</info> Una posizione
                     alternativa sulla quale stampare gli errori invece di <return>STDERR</return>.
                     <info>CURLOPT_WRITEHEADER</info> Il file sul quale è scritta la parte degli header del
                     trasferimento.
                     
                     <strong>$value</strong> dovrebbe essere il nome di una funzione o di una Closure valida per i
                     seguenti valori del parametro <strong>$option</strong>: OpzioneImposta <strong>$value</strong>
                     a<info>CURLOPT_HEADERFUNCTION</info> Una callback che accetta due parametri. Il primo è la
                     risorsa cURL, il secondo è una stringa con i dati dell'header da scrivere. I
                     dati degli header devono essere scritti da questa callback. Restituisce il
                     numero di  byte scritti. <info>CURLOPT_PASSWDFUNCTION</info> Una callback che accetta tre
                     parametri.  Il primo è la risorsa cURL, il secondo è una stringa contenente una
                     richiesta di password, e il terzo è la massima lunghezza della password.
                     Restituisce la stringa contenente la password. <info>CURLOPT_PROGRESSFUNCTION</info> Una
                     callback che accetta cinque parametri. Il primo è la risorsa cURL, il secondo è
                     il numero totale di byte attesi da scaricare in questo trasferimento, il terzo
                     è il numero di byte scaricati finora, il quarto è il totale numero di byte
                     attesi da uploadare in questo trasferimento, e il quinto è il numero di byte
                     uploadati finora.  La callback è chiamata solo quando l'opzione
                     <info>CURLOPT_NOPROGRESS</info> è impostata a <info>false</info>.  Restituisce un valore non zero per
                     abortire il trasferimento. In tal caso, il trasferimento imposterà un errore
                     <info>CURLE_ABORTED_BY_CALLBACK</info>. <info>CURLOPT_READFUNCTION</info> Una callback che accetta tre
                     parametri.  Il primo è la risorsa cURL, il secondo è un flusso di risorsa
                     fornito a cURL attraverso l'opzione <info>CURLOPT_INFILE</info>, e il terzo è la massima
                     quantità di dati da leggere. La callback deve restituire una stringa con una
                     dimensione uguale o minore della quantità di dati richiesti, tipicamente
                     leggendola dal flusso di risorsa passato. Dovrebbe restituire una stringa vuota
                     per segnalare <return>EOF</return>. <info>CURLOPT_WRITEFUNCTION</info> Una callback che accetta due
                     parametri.  Il primo è la risorsa cURL, e il secondo è una stringa con i dati
                     da scrivere. I dati devono essere salvati da questa callback. Essa deve
                     restituire l'esatto numero di byte scritti o il trasferimento verrà abortito
                     con un errore.
                     
                     Una callback che accetta cinque parametri. Il primo è la risorsa cURL, il
                     secondo è il numero totale di byte attesi da scaricare in questo trasferimento,
                     il terzo è il numero di byte scaricati finora, il quarto è il totale numero di
                     byte attesi da uploadare in questo trasferimento, e il quinto è il numero di
                     byte uploadati finora.
                     
                     La callback è chiamata solo quando l'opzione <info>CURLOPT_NOPROGRESS</info> è impostata a
                     <info>false</info>.
                     
                     Restituisce un valore non zero per abortire il trasferimento. In tal caso, il
                     trasferimento imposterà un errore <info>CURLE_ABORTED_BY_CALLBACK</info>.
                     
                     Altri valori: OpzioneImposta <strong>$value</strong> a<info>CURLOPT_SHARE</info> Un risultato di
                     <strong>curl_share_init()</strong>. Fa utilizzare al gestore cURL i dati dal gestore condiviso.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>curl_setopt_array()</strong>


id: curl_setopt_array
type: function
doc:
<comment>Description:</comment>
  Set multiple options for a cURL transfer
  
  Sets multiple options for a cURL session. This function is useful for setting a large number of
  cURL options without repetitively calling <strong>curl_setopt()</strong>.

<comment>Param:</comment>
  <info>     </info>  <strong>$ch     </strong>  Un identificativo cURL restituito da 
                   <strong>curl_init()</strong>.
  <info>array</info>  <strong>$options</strong>  An <info>array</info> specifying which options to set and their values. The keys should be
                   valid <strong>curl_setopt()</strong> constants or their integer equivalents.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if all options were successfully set. If an option could not be successfully
        set, <info>false</info> is immediately returned, ignoring any future options in the <strong>$options</strong> array.

<comment>See Also:</comment>
   * <strong>curl_setopt()</strong>


id: curl_share_close
type: function
doc:
<comment>Description:</comment>
  Close a cURL share handle
  
  Closes a cURL share handle and frees all resources.

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>curl_share_init()</strong>


id: curl_share_errno
type: function
doc:
<comment>Description:</comment>
  Return the last share curl error number
  
  Return an integer containing the last share curl error number.

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns an integer containing the last share curl error number, o <info>false</info> in caso di
       fallimento.

<comment>See Also:</comment>
   * <strong>curl_errno()</strong>


id: curl_share_init
type: function
doc:
<comment>Description:</comment>
  Initialize a cURL share handle
  
  Allows to share data between cURL handles.

<comment>Return:</comment>
  <info>CurlShareHandle</info>  Returns a cURL share handle.

<comment>See Also:</comment>
   * <strong>curl_share_setopt()</strong>
   * <strong>curl_share_close()</strong>


id: curl_share_setopt
type: function
doc:
<comment>Description:</comment>
  Set an option for a cURL share handle
  
  Sets an option on the given cURL share handle.

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.
  <info>int            </info>  <strong>$option      </strong>  OptionDescription<info>CURLSHOPT_SHARE</info> Specifies a type of data that
                                  should be shared. <info>CURLSHOPT_UNSHARE</info> Specifies a type of data that
                                  will be no longer shared.
  <info>mixed          </info>  <strong>$value       </strong>  ValueDescription<info>CURL_LOCK_DATA_COOKIE</info> Shares cookie data.
                                  <info>CURL_LOCK_DATA_DNS</info> Shares DNS cache. Note that when you use cURL
                                  multi handles, all handles added to the same multi handle will
                                  share DNS cache by default. <info>CURL_LOCK_DATA_SSL_SESSION</info> Shares SSL
                                  session IDs, reducing the time spent on the SSL handshake when
                                  reconnecting to the same server. Note that SSL session IDs are
                                  reused within the same handle by default.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.


id: curl_share_strerror
type: function
doc:
<comment>Description:</comment>
  Return string describing the given error code
  
  Returns a text error message describing the given error code.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  One of the cURL error codes constants.

<comment>Return:</comment>
  <info>stringnull</info>  Returns error description or <info>null</info> for invalid error code.

<comment>See Also:</comment>
   * <strong>curl_share_errno()</strong>
   * <strong>curl_strerror()</strong>


id: curl_strerror
type: function
doc:
<comment>Description:</comment>
  Return string describing the given error code
  
  Returns a text error message describing the given error code.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  One of the cURL error codes constants.

<comment>Return:</comment>
  <info>stringnull</info>  Returns error description or <info>null</info> for invalid error code.

<comment>See Also:</comment>
   * <strong>curl_errno()</strong>
   * <strong>curl_error()</strong>
   * Curl error codes


id: curl_unescape
type: function
doc:
<comment>Description:</comment>
  Decodes the given URL encoded string
  
  This function decodes the given URL encoded string.

<comment>Param:</comment>
  <info>      </info>  <strong>$ch    </strong>  Un identificativo cURL restituito da 
                   <strong>curl_init()</strong>.
  <info>string</info>  <strong>$string</strong>  The URL encoded string to be decoded.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns decoded string  o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>curl_escape()</strong>
   * <strong>urlencode()</strong>
   * <strong>urldecode()</strong>
   * <strong>rawurlencode()</strong>
   * <strong>rawurldecode()</strong>


id: curl_version
type: function
doc:
<comment>Description:</comment>
  Restituisce informazioni sulla versione di cURL
  
  Restituisce informazioni sulla versione di cURL.

<comment>Param:</comment>
  <info>int</info>  <strong>$age</strong>  

<comment>Return:</comment>
  <info>array</info>  Restituisce un array associativo con i seguenti elementi:  IndiceDescrizione
         valoreversion_numbernumero della versione di 24 bit di cURLversionnumero della versione di
         cURL, come una stringassl_version_numberNumero della versione di 24 bit di
         OpenSSLssl_versionNumero della versione di OpenSSL, come una stringalibz_versionNumero
         della versione di zlib, come una stringahostInformazioni sull'host dove è stato effettuato
         il build di cURLagefeaturesUna maschera di bit delle costanti <return>CURL_VERSION_XXX</return>protocolsUn
         array dei nomi dei protocolli supportati da cURL


id: date
type: function
doc:
<comment>Description:</comment>
  Formatta una data o orario locale
  
  Restituisce una stringa formattata in accordo con il formato della stringa data usando l'intero
  <strong>$timestamp</strong> dato o l'orario corrente se nessun timestamp è dato. In altre parole, <strong>$timestamp</strong> è
  opzionale e di default prende il valore di <strong>time()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$format   </strong>  Il formato della data da produrre come <info>string</info>. Vedere le opzioni di
                      formattazione sottostanti. Ci sono anche tante costanti delle date predefinite
                      che possono essere usate al loro posto, così per esempio <info>DATE_RSS</info> contiene la
                      stringa dal formato <return>'D, d M Y H:i:s'</return>.
                      
                      I seguenti caratteri sono riconosciuti nel parametro stringa <strong>$format</strong>Carattere
                      del <strong>$format</strong>DescrizioneEsempio di valori restituitiGiorno------<return>d</return>Giorno del
                      mese, 2 cifre con zero iniziali<return>01</return> a <return>31</return><return>D</return>Una rappresentazione testuale di un
                      giorno, tre lettere<return>Mon</return> a <return>Sun</return><return>j</return>Giorno del mese senza gli zero iniziali<return>1</return> a <return>31</return><return>l</return>
                      ('L' minuscola)Una rappresentazione testuale completa del giorno della
                      settimana<return>Sunday</return> a <return>Saturday</return><return>N</return>Rappresentazione numerica ISO-8601 del giorno della
                      settimana (aggiunto in PHP 5.1.0)<return>1</return> (per Lunedì) a <return>7</return> (per Domenica)<return>S</return>Suffisso
                      ordinale inglese per il giorno del mese, 2 caratteri<return>st</return>, <return>nd</return>, <return>rd</return> o <return>th</return>.  Funziona
                      bene con <return>j</return> <return>w</return>Rappresentazione numerica del giorno della settimana<return>0</return> (per
                      Domenica) a <return>6</return> (per Sabato)<return>z</return>Il giorno dell'anno (partendo da 0)<return>0</return> a
                      <return>365</return>Settimana------<return>W</return>Numero della settimana dell'anno ISO-8601, le settimane
                      iniziano di Lunedì (aggiunto in PHP 4.1.0)Esempio: <return>42</return> (la 42esima settimana
                      nell'anno)Mese------<return>F</return>Una rappresentazione testuale completa di un mese, come
                      January o March<return>January</return> a <return>December</return><return>m</return>Rappresentazione numerica di un mese, con
                      gli zero iniziali<return>01</return> a <return>12</return><return>M</return>Una piccola rappresentazione testuale di un mese, tre
                      lettere<return>Jan</return> a <return>Dec</return><return>n</return>Rappresentazione numerica di un mese, senza gli zero
                      iniziali<return>1</return> a <return>12</return><return>t</return>Numero di giorni nel dato mese<return>28</return> a <return>31</return>Anno------<return>L</return>Se si tratta di
                      un anno bisestile<return>1</return> se è un anno bisestile, <return>0</return> in caso contrario.<return>o</return>Il numero
                      dell'anno ISO-8601. Questo ha lo stesso valore di <return>Y</return>, eccetto che se il numero
                      della settimana ISO (<return>W</return>) appartiene all'anno precedente o successivo, viene
                      invece utilizzato quell'anno. (aggiunto in PHP 5.1.0)Esempi: <return>1999</return> o <return>2003</return><return>Y</return>Una
                      rappresentazione numerica completa di un anno, 4 cifreEsempi: <return>1999</return> o <return>2003</return><return>y</return>Una
                      rappresentazione a due cifre di un annoEsempi: <return>99</return> o <return>03</return>Orario------<return>a</return>Ante
                      meridiem e Post meridiem in minuscole<return>am</return> o <return>pm</return><return>A</return>Ante meridiem e Post meridiem in
                      maiuscole<return>AM</return> o <return>PM</return><return>B</return>Orario di Internet Swatch<return>000</return> a <return>999</return><return>g</return>Formato a 12 ore di un'ora
                      senza gli zero iniziali<return>1</return> a <return>12</return><return>G</return>Formato a 24 ore di un'ora senza gli zero
                      iniziali<return>0</return> a <return>23</return><return>h</return>Formato a 12 ore di un'ora con gli zero iniziali<return>01</return> a <return>12</return><return>H</return>Formato
                      a 24 ore di un'ora con gli zero iniziali<return>00</return> a <return>23</return><return>i</return>Minuti con gli zero iniziali<return>00</return>
                      a <return>59</return><return>s</return>Secondi, con gli zero iniziali<return>00</return> a <return>59</return><return>u</return> Microsecondi (aggiunto in PHP
                      5.2.2). Notare che <strong>date()</strong> genererà sempre <return>000000</return> dato che prende un parametro
                      <info>integer</info>, mentre DateTime::format supporta i microsecondi se <class>DateTime</class> è stato
                      creato con i microsecondi. Esempio: <return>654321</return>Fuso orario------<return>e</return>Identificatore del
                      fuso orario (aggiunto in PHP 5.1.0)Esempi: <return>UTC</return>, <return>GMT</return>, <return>Atlantic/Azores</return><return>I</return> (i
                      maiuscola)Se la data è o no in ora legale<return>1</return> se è ora legale, <return>0</return> in caso
                      contrario.<return>O</return>Differenza dall'ora di Greenwich (GMT) in oreEsempio:
                      <return>+0200</return><return>P</return>Differenza dall'ora di Greenwich (GMT) con due punti tra ore e minuti
                      (aggiunto in PHP 5.1.3)Esempio: <return>+02:00</return><return>T</return>Abbreviazione del fuso orarioEsempio:
                      <return>EST</return>, <return>MDT</return> ...<return>Z</return>Differenza del fuso orario in secondi. La differenza per i fusi
                      orari ad ovest di UTC è sempre negativa, e per quelli all'est di UTC è sempre
                      positiva.<return>-43200</return> a <return>50400</return>Data/Ora Completa------<return>c</return>Data ISO 8601 (aggiunta in PHP
                      5)2004-02-12T15:19:21+00:00<return>r</return>Data formattata in RFC 2822Esempio: <return>Thu, 21 Dec
                      2000 16:01:07 +0200</return><return>U</return>Il numero di secondi dalla Unix Epoch (Gennaio 1 1970
                      00:00:00 GMT)Vedere anche <strong>time()</strong>
                      
                      I caratteri non riconosciuti nella stringa formato saranno stampati così come
                      sono.  Il formato <return>Z</return> restituirà sempre <return>0</return> quando si utilizza <strong>gmdate()</strong>.
                      
                      Poichè questa funzione accetta solo timestamp <info>integer</info> il carattere di formato
                      <return>u</return> è utile solo quando si utilizza la funzione <strong>date_format()</strong> con i timestamp
                      basati sull'utente creati con <strong>date_create()</strong>.
  <info>int   </info>  <strong>$timestamp</strong>  Il parametro opzionale <strong>$timestamp</strong> è un 
                      <info>integer</info> timestamp Unix che ha come default
                      l'ora locale attuale se un <strong>$timestamp</strong> non è fornito. In altre 
                      parole, ha come default il valore di <strong>time()</strong>.

<comment>Return:</comment>
  <info>string</info>  Restituisce una stringa data formattata. Se viene utilizzato un valore non numerico per
          <strong>$timestamp</strong>, viene restituito <info>false</info> e viene  emesso un errore di livello <info>E_WARNING</info>.

<comment>See Also:</comment>
   * <strong>gmdate()</strong>
   * <strong>idate()</strong>
   * <strong>getdate()</strong>
   * <strong>getlastmod()</strong>
   * <strong>mktime()</strong>
   * <strong>strftime()</strong>
   * <strong>time()</strong>
   * <strong>strtotime()</strong>
   * Costanti di DateTime Predefinite


id: date_add
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::add
  
  Questa funzione è sinonimo di:  DateTime::add


id: date_create
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::__construct
  
  Questa funzione è sinonimo di:  DateTime::__construct


id: date_create_from_format
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::createFromFormat
  
  Questa funzione è sinonimo di:  DateTime::createFromFormat


id: date_create_immutable
type: function
doc:
<comment>Description:</comment>
  Alias di DateTimeImmutable::__construct
  
  Questa funzione è sinonimo di:  DateTimeImmutable::__construct


id: date_create_immutable_from_format
type: function
doc:
<comment>Description:</comment>
  Alias di DateTimeImmutable::createFromFormat
  
  Questa funzione è sinonimo di:  DateTimeImmutable::createFromFormat


id: date_date_set
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::setDate
  
  Questa funzione è sinonimo di:  DateTime::setDate


id: date_default_timezone_get
type: function
doc:
<comment>Description:</comment>
  Gets the default timezone used by all date/time functions in a script
    
  
  In order of preference, this function returns the default timezone by:  Reading the timezone set
  using the <strong>date_default_timezone_set()</strong> function (if any)  Prior to PHP 5.4.0 only: Reading the TZ
  environment variable (if non empty)  Reading the value of the date.timezone ini option (if set)
  Prior to PHP 5.4.0 only: Querying the host operating system (if supported and allowed by the OS).
  This uses an algorithm that has to guess the timezone. This is by no means going to work correctly
  for  every situation. A warning is shown when this stage is reached. Do not rely on it to be
  guessed correctly, and set date.timezone to the correct timezone instead.
  
  Reading the timezone set using the <strong>date_default_timezone_set()</strong> function (if any)
  
  Prior to PHP 5.4.0 only: Reading the TZ environment variable (if non empty)
  
  Reading the value of the date.timezone ini option (if set)
  
  Prior to PHP 5.4.0 only: Querying the host operating system (if supported and allowed by the OS).
  This uses an algorithm that has to guess the timezone. This is by no means going to work correctly
  for  every situation. A warning is shown when this stage is reached. Do not rely on it to be
  guessed correctly, and set date.timezone to the correct timezone instead.
  
  If none of the above succeed, date_default_timezone_get will return a default timezone of <return>UTC</return>.

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info>.

<comment>See Also:</comment>
   * <strong>date_default_timezone_set()</strong>
   * 


id: date_default_timezone_set
type: function
doc:
<comment>Description:</comment>
  Sets the default timezone used by all date/time functions in a script
    
  
  <strong>date_default_timezone_set()</strong> sets the default timezone used by all date/time functions.
  
  Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function
  will generate a <info>E_NOTICE</info> if the timezone isn't valid, and/or a <info>E_WARNING</info> message if using the
  system settings or the TZ environment variable.
  
  Instead of using this function to set the default timezone in your script, you can also use the
  INI setting date.timezone to set the default timezone.

<comment>Param:</comment>
  <info>string</info>  <strong>$timezoneId</strong>  The timezone identifier, like <return>UTC</return>, <return>Africa/Lagos</return>, <return>Asia/Hong_Kong</return>, or
                       <return>Europe/Lisbon</return>. The list of valid identifiers is available in the .

<comment>Return:</comment>
  <info>bool</info>  This function returns <info>false</info> if the <strong>$timezoneId</strong> isn't valid, or <info>true</info> otherwise.

<comment>See Also:</comment>
   * <strong>date_default_timezone_get()</strong>
   * 


id: date_diff
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::diff
  
  Questa funzione è sinonimo di:  DateTime::diff


id: date_format
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::format
  
  Questa funzione è sinonimo di:  DateTime::format


id: date_get_last_errors
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::getLastErrors
  
  Questa funzione è sinonimo di:  DateTime::getLastErrors


id: date_interval_create_from_date_string
type: function
doc:
<comment>Description:</comment>
  Alias di DateInterval::createFromDateString
  
  Questa funzione è sinonimo di:  DateInterval::createFromDateString


id: date_interval_format
type: function
doc:
<comment>Description:</comment>
  Alias di DateInterval::format
  
  Questa funzione è sinonimo di:  DateInterval::format


id: date_isodate_set
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::setISODate
  
  Questa funzione è sinonimo di:  DateTime::setISODate


id: date_modify
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::modify
  
  Questa funzione è sinonimo di:  DateTime::modify


id: date_offset_get
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::getOffset
  
  Questa funzione è sinonimo di:  DateTime::getOffset


id: date_parse
type: function
doc:
<comment>Description:</comment>
  Returns associative array with detailed info about given date/time

<comment>Param:</comment>
  <info>string</info>  <strong>$datetime</strong>  Date/time in format accepted by <strong>DateTimeImmutable::__construct()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns <info>array</info> with information about the parsed date/time on success o <info>false</info> in caso di
         fallimento.

<comment>See Also:</comment>
   * <strong>checkdate()</strong>
   * <strong>getdate()</strong>


id: date_parse_from_format
type: function
doc:
<comment>Description:</comment>
  Get info about given date formatted according to the specified format
  
  Returns associative array with detailed info about given date/time.

<comment>Param:</comment>
  <info>string</info>  <strong>$format  </strong>  Format accepted by <strong>DateTime::createFromFormat()</strong>.
  <info>string</info>  <strong>$datetime</strong>  String representing the date/time.

<comment>Return:</comment>
  <info>array</info>  Returns associative array with detailed info about given date/time.

<comment>See Also:</comment>
   * <strong>DateTime::createFromFormat()</strong>
   * <strong>checkdate()</strong>


id: date_sub
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::sub
  
  Questa funzione è sinonimo di:  DateTime::sub


id: date_sun_info
type: function
doc:
<comment>Description:</comment>
  Returns an array with information about sunset/sunrise and twilight begin/end

<comment>Param:</comment>
  <info>int  </info>  <strong>$timestamp</strong>  Unix timestamp.
  <info>float</info>  <strong>$latitude </strong>  Latitude in degrees.
  <info>float</info>  <strong>$longitude</strong>  Longitude in degrees.

<comment>Return:</comment>
  <info>array</info>  Returns array on success o <info>false</info> in caso di fallimento. The structure of the array is
         detailed in the following list:
         
         <return>sunrise</return> The timestamp of the sunrise (zenith angle = 90°35'). <return>sunset</return> The timestamp of the
         sunset (zenith angle = 90°35'). <return>transit</return> The timestamp when the sun is at its zenith, i.e.
         has reached its topmost point. <return>civil_twilight_begin</return> The start of the civil dawn (zenith
         angle = 96°). It ends at <return>sunrise</return>. <return>civil_twilight_end</return> The end of the civil dusk (zenith
         angle = 96°). It starts at <return>sunset</return>. <return>nautical_twilight_begin</return> The start of the nautical dawn
         (zenith angle = 102°). It ends at <return>civil_twilight_begin</return>. <return>nautical_twilight_end</return> The end of
         the nautical dusk (zenith angle = 102°). It starts at <return>civil_twilight_end</return>.
         <return>astronomical_twilight_begin</return> The start of the astronomical dawn (zenith angle = 108°). It
         ends at <return>nautical_twilight_begin</return>. <return>astronomical_twilight_end</return> The end of the astronomical dusk
         (zenith angle = 108°). It starts at <return>nautical_twilight_end</return>.
         
         The timestamp of the sunrise (zenith angle = 90°35').
         
         The timestamp of the sunset (zenith angle = 90°35').
         
         The timestamp when the sun is at its zenith, i.e. has reached its topmost point.
         
         The start of the civil dawn (zenith angle = 96°). It ends at <return>sunrise</return>.
         
         The end of the civil dusk (zenith angle = 96°). It starts at <return>sunset</return>.
         
         The start of the nautical dawn (zenith angle = 102°). It ends at <return>civil_twilight_begin</return>.
         
         The end of the nautical dusk (zenith angle = 102°). It starts at <return>civil_twilight_end</return>.
         
         The start of the astronomical dawn (zenith angle = 108°). It ends at
         <return>nautical_twilight_begin</return>.
         
         The end of the astronomical dusk (zenith angle = 108°). It starts at <return>nautical_twilight_end</return>.
         
         The values of the array elements are either UNIX timestamps, <info>false</info> if the sun is below the
         respective zenith for the whole day, or <info>true</info> if the sun is above the respective zenith for
         the whole day.

<comment>See Also:</comment>
   * <strong>date_sunrise()</strong>
   * <strong>date_sunset()</strong>


id: date_sunrise
type: function
doc:
<comment>Description:</comment>
  Returns time of sunrise for a given day and location
  
  <strong>date_sunrise()</strong> returns the sunrise time for a given day (specified as a <strong>$timestamp</strong>) and location.

<comment>Param:</comment>
  <info>int      </info>  <strong>$timestamp   </strong>  The <strong>$timestamp</strong> of the day from which the sunrise time is taken.
  <info>int      </info>  <strong>$returnFormat</strong>  <strong>$returnFormat</strong>
                            constantsconstantdescriptionexampleSUNFUNCS_RET_STRINGreturns the result
                            as <info>string</info>16:46SUNFUNCS_RET_DOUBLEreturns the result as
                            <info>float</info>16.78243132SUNFUNCS_RET_TIMESTAMPreturns the result as <info>int</info>
                            (timestamp)1095034606
  <info>floatnull</info>  <strong>$latitude    </strong>  Defaults to North, pass in a negative value for South. See also:
                            date.default_latitude
  <info>floatnull</info>  <strong>$longitude   </strong>  Defaults to East, pass in a negative value for West. See also:
                            date.default_longitude
  <info>floatnull</info>  <strong>$zenith      </strong>  <strong>$zenith</strong> is the angle between the center of the sun and a line
                            perpendicular to earth's surface. It defaults to date.sunrise_zenith
                            Common <strong>$zenith</strong> anglesAngleDescription90°50'Sunrise: the point where the
                            sun becomes visible.96°Civil twilight: conventionally used to signify
                            the start of dawn.102°Nautical twilight: the point at which the horizon
                            starts being visible at sea.108°Astronomical twilight: the point at
                            which the sun starts being the source of any illumination.
  <info>floatnull</info>  <strong>$utcOffset   </strong>  Specified in hours. The <strong>$utcOffset</strong> is ignored, if <strong>$returnFormat</strong> is
                            <info>SUNFUNCS_RET_TIMESTAMP</info>.

<comment>Return:</comment>
  <info>stringintfloatfalse</info>  Returns the sunrise time in a specified <strong>$returnFormat</strong> on success o <info>false</info> in
                       caso di fallimento. One potential reason for failure is that the sun does not
                       rise at all, which happens inside the polar circles for part of the year.

<comment>See Also:</comment>
   * <strong>date_sunset()</strong>
   * <strong>date_sun_info()</strong>


id: date_sunset
type: function
doc:
<comment>Description:</comment>
  Returns time of sunset for a given day and location
    
  
  <strong>date_sunset()</strong> returns the sunset time for a given day (specified as a <strong>$timestamp</strong>) and location.

<comment>Param:</comment>
  <info>int      </info>  <strong>$timestamp   </strong>  The <strong>$timestamp</strong> of the day from which the sunset time is taken.
  <info>int      </info>  <strong>$returnFormat</strong>  <strong>$returnFormat</strong>
                            constantsconstantdescriptionexampleSUNFUNCS_RET_STRINGreturns the result
                            as <info>string</info>16:46SUNFUNCS_RET_DOUBLEreturns the result as
                            <info>float</info>16.78243132SUNFUNCS_RET_TIMESTAMPreturns the result as <info>int</info>
                            (timestamp)1095034606
  <info>floatnull</info>  <strong>$latitude    </strong>  Defaults to North, pass in a negative value for South. See also:
                            date.default_latitude
  <info>floatnull</info>  <strong>$longitude   </strong>  Defaults to East, pass in a negative value for West. See also:
                            date.default_longitude
  <info>floatnull</info>  <strong>$zenith      </strong>  <strong>$zenith</strong> is the angle between the center of the sun and a line
                            perpendicular to earth's surface. It defaults to date.sunset_zenith
                            Common <strong>$zenith</strong> anglesAngleDescription90°50'Sunset: the point where the
                            sun becomes invisible.96°Civil twilight: conventionally used to signify
                            the end of dusk.102°Nautical twilight: the point at which the horizon
                            ends being visible at sea.108°Astronomical twilight: the point at which
                            the sun ends being the source of any illumination.
  <info>floatnull</info>  <strong>$utcOffset   </strong>  Specified in hours. The <strong>$utcOffset</strong> is ignored, if <strong>$returnFormat</strong> is
                            <info>SUNFUNCS_RET_TIMESTAMP</info>.

<comment>Return:</comment>
  <info>stringintfloatfalse</info>  Returns the sunset time in a specified <strong>$returnFormat</strong> on success o <info>false</info> in
                       caso di fallimento. One potential reason for failure is that the sun does not
                       set at all, which happens inside the polar circles for part of the year.

<comment>See Also:</comment>
   * <strong>date_sunrise()</strong>
   * <strong>date_sun_info()</strong>


id: date_time_set
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::setTime
  
  Questa funzione è sinonimo di:  DateTime::setTime


id: date_timestamp_get
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::getTimestamp
  
  Questa funzione è sinonimo di:  DateTime::getTimestamp


id: date_timestamp_set
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::setTimestamp
  
  Questa funzione è sinonimo di:  DateTime::setTimestamp


id: date_timezone_get
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::getTimezone
  
  Questa funzione è sinonimo di:  DateTime::getTimezone


id: date_timezone_set
type: function
doc:
<comment>Description:</comment>
  Alias di DateTime::setTimezone
  
  Questa funzione è sinonimo di:  DateTime::setTimezone


id: db2_autocommit
type: function
doc:
<comment>Description:</comment>
  Returns or sets the AUTOCOMMIT state for a database connection
    
  
  Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>bool    </info>  <strong>$value     </strong>  One of the following constants:  <return>DB2_AUTOCOMMIT_OFF</return> Turns AUTOCOMMIT off.
                         <return>DB2_AUTOCOMMIT_ON</return> Turns AUTOCOMMIT on.
                         
                         Turns AUTOCOMMIT off.
                         
                         Turns AUTOCOMMIT on.

<comment>Return:</comment>
  <info>mixed</info>  When <strong>db2_autocommit()</strong> receives only the <strong>$connection</strong> parameter, it returns the current state
         of AUTOCOMMIT for the requested connection as an integer value. A value of
         <info>DB2_AUTOCOMMIT_OFF</info> indicates that AUTOCOMMIT is off, while a value of <info>DB2_AUTOCOMMIT_ON</info>
         indicates that AUTOCOMMIT is on.
         
         When <strong>db2_autocommit()</strong> receives both the <strong>$connection</strong> parameter and <strong>$autocommit</strong> parameter, it
         attempts to set the AUTOCOMMIT state of the requested connection to the corresponding
         state. Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_bind_param
type: function
doc:
<comment>Description:</comment>
  Binds a PHP variable to an SQL statement parameter
    
  
  Binds a PHP variable to an SQL statement parameter in a statement resource returned by
  <strong>db2_prepare()</strong>. This function gives you more control over the parameter type, data type, precision,
  and scale for the parameter than simply passing the variable as part of the optional input array
  to <strong>db2_execute()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt            </strong>  A prepared statement returned from <strong>db2_prepare()</strong>.
  <info>int     </info>  <strong>$parameter_number</strong>  Specifies the 1-indexed position of the parameter in the prepared
                               statement.
  <info>string  </info>  <strong>$variable_name   </strong>  A string specifying the name of the PHP variable to bind to the
                               parameter specified by <strong>$parameter_number</strong>.
  <info>int     </info>  <strong>$parameter_type  </strong>  A constant specifying whether the PHP variable should be bound to the
                               SQL parameter as an input parameter (<return>DB2_PARAM_IN</return>), an output
                               parameter (<return>DB2_PARAM_OUT</return>), or as a parameter that accepts input and
                               returns output (<return>DB2_PARAM_INOUT</return>). To avoid memory overhead, you can
                               also specify <return>DB2_PARAM_FILE</return> to bind the PHP variable to the name of a
                               file that contains large object (BLOB, CLOB, or DBCLOB) data.
  <info>int     </info>  <strong>$data_type       </strong>  A constant specifying the SQL data type that the PHP variable should
                               be bound as: one of <return>DB2_BINARY</return>, <return>DB2_CHAR</return>, <return>DB2_DOUBLE</return>, or <return>DB2_LONG</return> .
  <info>int     </info>  <strong>$precision       </strong>  Specifies the precision with which the variable should be bound to
                               the database. This parameter can also be used for retrieving XML
                               output values  from stored procedures. A non-negative value specifies
                               the maximum size of  the XML data that will be retrieved from the
                               database. If this parameter  is not used, a default of 1MB will be
                               assumed for retrieving the XML  output value from the stored
                               procedure.
  <info>int     </info>  <strong>$scale           </strong>  Specifies the scale with which the variable should be bound to the
                               database.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_prepare()</strong>


id: db2_client_info
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties that describe the DB2 database client
  
  This function returns an object with read-only properties that return information about the DB2
  database client. The following table lists the DB2 client properties: DB2 client
  propertiesProperty nameReturn typeDescriptionAPPL_CODEPAGEintThe application code
  page.CONN_CODEPAGEintThe code page for the current connection.DATA_SOURCE_NAMEstringThe data
  source name (DSN) used to create the current connection to the database.DRIVER_NAMEstringThe name
  of the library that implements the DB2 Call Level Interface (CLI)
  specification.DRIVER_ODBC_VERstringThe version of ODBC that the DB2 client supports. This returns
  a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always
  returns "03.51". DRIVER_VERstringThe version of the client, in the form of a string "MM.mm.uuuu"
  where MM is the major version,  mm is the minor version, and uuuu is the update. For example,
  "08.02.0001" represents major version 8, minor version 2, update 1. ODBC_SQL_CONFORMANCEstringThe
  level of ODBC SQL grammar supported by the client: MINIMUM Supports the minimum ODBC SQL grammar.
  CORE Supports the core ODBC SQL grammar. EXTENDED Supports extended ODBC SQL grammar.
  ODBC_VERstringThe version of ODBC that the ODBC driver manager supports. This returns a string
  "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The
  DB2 client always returns "03.01.0000".
  
  The level of ODBC SQL grammar supported by the client: MINIMUM Supports the minimum ODBC SQL
  grammar. CORE Supports the core ODBC SQL grammar. EXTENDED Supports extended ODBC SQL grammar.
  
  Supports the minimum ODBC SQL grammar.
  
  Supports the core ODBC SQL grammar.
  
  Supports extended ODBC SQL grammar.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>object</info>  Returns an object on a successful call. Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>db2_server_info()</strong>


id: db2_close
type: function
doc:
<comment>Description:</comment>
  Closes a database connection
    
  
  This function closes a DB2 client connection created with <strong>db2_connect()</strong> and returns the
  corresponding resources to the database server.
  
  If you attempt to close a persistent DB2 client connection created with <strong>db2_pconnect()</strong>, the close
  request is ignored and the persistent DB2 client connection remains available for the next caller.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pclose()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_column_privileges
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the columns and associated privileges for a table
    
  
  Returns a result set listing the columns and associated privileges for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier  </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                          databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema     </strong>  The schema which contains the tables. To match all schemas, pass <info>null</info> or
                          an empty string.
  <info>string  </info>  <strong>$table-name </strong>  The name of the table or view. To match all tables in the database, pass
                          <info>null</info> or an empty string.
  <info>string  </info>  <strong>$column-name</strong>  The name of the column. To match all columns in the table, pass <info>null</info> or an
                          empty string.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the column
            privileges for columns matching the specified parameters. The rows are composed of the
            following columns: Column nameDescriptionTABLE_CATName of the catalog. The value is NULL
            if this table does not have catalogs.TABLE_SCHEMName of the schema.TABLE_NAMEName of the
            table or view.COLUMN_NAMEName of the column.GRANTORAuthorization ID of the user who
            granted the privilege.GRANTEEAuthorization ID of the user to whom the privilege was
            granted.PRIVILEGEThe privilege for the column.IS_GRANTABLEWhether the GRANTEE is
            permitted to grant this privilege to other users.

<comment>See Also:</comment>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the columns and associated metadata for a table
    
  
  Returns a result set listing the columns and associated metadata for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier  </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                          databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema     </strong>  The schema which contains the tables. To match all schemas, pass <return>'%'</return>.
  <info>string  </info>  <strong>$table-name </strong>  The name of the table or view. To match all tables in the database, pass
                          <info>null</info> or an empty string.
  <info>string  </info>  <strong>$column-name</strong>  The name of the column. To match all columns in the table, pass <info>null</info> or an
                          empty string.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the columns
            matching the specified parameters. The rows are composed of the following columns:
            Column nameDescriptionTABLE_CATName of the catalog. The value is NULL if this table does
            not have catalogs.TABLE_SCHEMName of the schema.TABLE_NAMEName of the table or
            view.COLUMN_NAMEName of the column.DATA_TYPEThe SQL data type for the column represented
            as an integer value.TYPE_NAMEA string representing the data type for the
            column.COLUMN_SIZEAn integer value representing the size of the column.BUFFER_LENGTH
            Maximum number of bytes necessary to store data from this column. DECIMAL_DIGITS The
            scale of the column, or <info>null</info> where scale is not applicable. NUM_PREC_RADIX An integer
            value of either <return>10</return> (representing an exact numeric data type), <return>2</return> (representing an
            approximate numeric data type), or <info>null</info> (representing a data type for which radix is not
            applicable). NULLABLEAn integer value representing whether the column is nullable or
            not.REMARKSDescription of the column.COLUMN_DEFDefault value for the
            column.SQL_DATA_TYPEAn integer value representing the size of the
            column.SQL_DATETIME_SUB Returns an integer value representing a datetime subtype code,
            or <info>null</info> for SQL data types to which this does not apply. CHAR_OCTET_LENGTH Maximum
            length in octets for a character data type column, which matches COLUMN_SIZE for
            single-byte character set data, or <info>null</info> for non-character data types.
            ORDINAL_POSITIONThe 1-indexed position of the column in the table.IS_NULLABLE A string
            value where 'YES' means that the column is nullable and 'NO' means that the column is
            not nullable.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_commit
type: function
doc:
<comment>Description:</comment>
  Commits a transaction
    
  
  Commits an in-progress transaction on the specified connection resource and begins a new
  transaction. PHP applications normally default to AUTOCOMMIT mode, so <strong>db2_commit()</strong> is not
  necessary unless AUTOCOMMIT has been turned off for the connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_autocommit()</strong>
   * <strong>db2_rollback()</strong>


id: db2_conn_error
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the SQLSTATE returned by the last connection attempt
    
  
  <strong>db2_conn_error()</strong> returns an SQLSTATE value representing the reason the last attempt to connect to
  a database failed. As <strong>db2_connect()</strong> returns <info>false</info> in the event of a failed connection attempt, you
  do not pass any parameters to <strong>db2_conn_error()</strong> to retrieve the SQLSTATE value.
  
  If, however, the connection was successful but becomes invalid over time, you can pass the
  <strong>$connection</strong> parameter to retrieve the SQLSTATE value for a specific connection.
  
  To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line
  Processor prompt: db2 '? <strong>$sqlstate-value</strong>'. You can also call <strong>db2_conn_errormsg()</strong> to retrieve an
  explicit error message and the associated SQLCODE value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A connection resource associated with a connection that initially
                         succeeded, but which over time became invalid.

<comment>Return:</comment>
  <info>string</info>  Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty
          string if there is no error associated with the last connection attempt.

<comment>See Also:</comment>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_connect()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_conn_errormsg
type: function
doc:
<comment>Description:</comment>
  Returns the last connection error message and SQLCODE value
    
  
  <strong>db2_conn_errormsg()</strong> returns an error message and SQLCODE value representing the reason the last
  database connection attempt failed. As <strong>db2_connect()</strong> returns <info>false</info> in the event of a failed
  connection attempt, do not pass any parameters to <strong>db2_conn_errormsg()</strong> to retrieve the associated
  error message and SQLCODE value.
  
  If, however, the connection was successful but becomes invalid over time, you can pass the
  <strong>$connection</strong> parameter to retrieve the associated error message and SQLCODE value for a specific
  connection.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A connection resource associated with a connection that initially
                         succeeded, but which over time became invalid.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message and SQLCODE value resulting from a failed
          connection attempt. If there is no error associated with the last connection attempt,
          <strong>db2_conn_errormsg()</strong> returns an empty string.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_connect()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_connect
type: function
doc:
<comment>Description:</comment>
  Returns a connection to a database
    
  
  Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby
  database.

<comment>Param:</comment>
  <info>string</info>  <strong>$database         </strong>  For a cataloged connection to a database, <strong>$database</strong> represents the
                              database alias in the DB2 client catalog.
                              
                              For an uncataloged connection to a database,  <strong>$database</strong> represents a
                              complete connection string in the following format:
                              DATABASE=<strong>$database</strong>;HOSTNAME=<strong>$hostname</strong>;PORT=<strong>$port</strong>;PROTOCOL=TCPIP;UID=<strong>$username</strong>;PWD=<strong>$password</strong>;
                              where the parameters represent the following values: <strong>$database</strong> The
                              name of the database. <strong>$hostname</strong> The hostname or IP address of the
                              database server. <strong>$port</strong> The TCP/IP port on which the database is
                              listening for requests. <strong>$username</strong> The username with which you are
                              connecting to the database. <strong>$password</strong> The password with which you are
                              connecting to the database.
                              
                              The name of the database.
                              
                              The hostname or IP address of the database server.
                              
                              The TCP/IP port on which the database is listening for requests.
                              
                              The username with which you are connecting to the database.
                              
                              The password with which you are connecting to the database.
  <info>string</info>  <strong>$database         </strong>  The name of the database.
  <info>      </info>  <strong>$hostname         </strong>  The hostname or IP address of the database server.
  <info>      </info>  <strong>$port             </strong>  The TCP/IP port on which the database is listening for requests.
  <info>string</info>  <strong>$username         </strong>  The username with which you are connecting to the database.
  <info>string</info>  <strong>$password         </strong>  The password with which you are connecting to the database.
  <info>string</info>  <strong>$username         </strong>  The username with which you are connecting to the database.
                              
                              For uncataloged connections, you must pass a <info>null</info> value or empty
                              string.
  <info>string</info>  <strong>$password         </strong>  The password with which you are connecting to the database.
                              
                              For uncataloged connections, you must pass a <info>null</info> value or empty
                              string.
  <info>array </info>  <strong>$options          </strong>  An associative array of connection options that affect the behavior of
                              the connection, where valid array keys include: <strong>$autocommit</strong> Passing
                              the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this connection
                              handle.  Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                              this connection handle. <strong>$DB2_ATTR_CASE</strong> Passing the <return>DB2_CASE_NATURAL</return>
                              value specifies that column names are returned in natural case.
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.  Passing the <return>DB2_CASE_UPPER</return> value specifies
                              that column names are returned in upper case. <strong>$CURSOR</strong> Passing the
                              <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for a statement
                              resource. This is the default cursor type and is supported on all
                              database servers.  Passing the <return>DB2_SCROLLABLE</return> value specifies a
                              scrollable cursor for a statement resource. This mode enables random
                              access to rows in a result set, but currently is supported only by IBM
                              DB2 Universal Database.
                              
                              Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                              connection handle.
                              
                              Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for this
                              connection handle.
                              
                              Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names are
                              returned in natural case.
                              
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.
                              
                              Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                              returned in upper case.
                              
                              Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for
                              a statement resource. This is the default cursor type and is supported
                              on all database servers.
                              
                              Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor for a
                              statement resource. This mode enables random access to rows in a
                              result set, but currently is supported only by IBM DB2 Universal
                              Database.
                              
                              The following new option is available in ibm_db2 version 1.7.0 and
                              later.  <strong>$trustedcontext</strong> Passing the DB2_TRUSTED_CONTEXT_ENABLE value
                              turns trusted context  on for this connection handle. This parameter
                              cannot be set using  <strong>db2_set_option()</strong>.  This key works only if the
                              database is cataloged (even if the  database is local), or if you
                              specify the full DSN when you create   the connection.  To catalog the
                              database, use following commands: db2 catalog tcpip node loopback
                              remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
                              
                              Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context  on
                              for this connection handle. This parameter cannot be set using
                              <strong>db2_set_option()</strong>.
                              
                              This key works only if the database is cataloged (even if the
                              database is local), or if you specify the full DSN when you create
                              the connection.
                              
                              To catalog the database, use following commands:
                              
                              db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
                              
                              The following new i5/OS options are available in ibm_db2 version 1.5.1
                              and later.  <strong>$i5_lib</strong> A character value that indicates the default
                              library that will be  used for resolving unqualified file references.
                              This is not valid  if the connection is using system naming mode.
                              <strong>$i5_naming</strong><return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries  system
                              naming mode. Files are qualified using the slash (/) delimiter.
                              Unqualified files are resolved using the library list for the job.
                              <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default  naming mode,
                              which is SQL naming. Files are qualified using the period (.)
                              delimiter. Unqualified files are resolved using either the default
                              library  or the current user ID. <strong>$i5_commit</strong> The <strong>$i5_commit</strong> attribute
                              should be set before the  <strong>db2_connect()</strong>. If the value is changed after
                              the  connection has been established, and the connection is to a
                              remote data  source, the change does not take effect until the next
                              successful  <strong>db2_connect()</strong> for the connection handle.  The php.ini
                              setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                              default, but may be  overridden with the <strong>$i5_commit</strong> option.
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible. <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not
                              possible.  Nonrepeatable reads, and phantoms are possible.
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible. <return>DB2_I5_TXN_SERIALIZABLE</return> -
                              Transactions are serializable.  Dirty reads, non-repeatable reads, and
                              phantoms are not possible <strong>$i5_query_optimize</strong><return>DB2_FIRST_IO</return> All queries
                              are optimized with the goal of  returning the first page of output as
                              fast as possible. This goal works well  when the output is controlled
                              by a user who is most likely to cancel the query  after viewing the
                              first page of output data. Queries coded with an  OPTIMIZE FOR nnn
                              ROWS clause honor the goal specified by the clause. <return>DB2_ALL_IO</return> All
                              queries are optimized with the goal of running  the entire query to
                              completion in the shortest amount of elapsed time. This is a  good
                              option when the output of a query is being written to a file or
                              report, or  the interface is queuing the output data. Queries coded
                              with an OPTIMIZE FOR nnn  ROWS clause honor the goal specified by the
                              clause. This is the default. <strong>$i5_dbcs_alloc</strong><return>DB2_I5_DBCS_ALLOC_ON</return> value
                              turns on DB2 6X allocation scheme  for DBCS translation column size
                              growth. <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                              for DBCS translation column size growth.   Note: php.ini setting
                              <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or  <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default,
                              but may be overridden  with the <strong>$i5_dbcs_alloc</strong> option.
                              <strong>$i5_date_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                              Standardization  (ISO) date format yyyy-mm-dd is used. This is the
                              default. <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                              used. <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.  <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is
                              used.  <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used. <return>DB2_I5_FMT_JUL</return> -
                              The Julian date format yy/ddd is used. <return>DB2_I5_FMT_JOB</return> - The job
                              default is used. <strong>$i5_date_sep</strong><return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used
                              as the date separator.  This is the default. <return>DB2_I5_SEP_DASH</return> - A dash
                              ( - ) is used as the date separator. <return>DB2_I5_SEP_PERIOD</return> - A period ( .
                              ) is used as the date  separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is
                              used as the date separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as the
                              date separator. <return>DB2_I5_SEP_JOB</return> - The job default is used
                              <strong>$i5_time_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                              Standardization (ISO) time format hh.mm.ss is used. This is the
                              default. <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is
                              used, where xx is AM or PM. <return>DB2_I5_FMT_EUR</return> - The European time format
                              hh.mm.ss  is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard
                              time format hh:mm:ss is used. <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is
                              used. <strong>$i5_time_sep</strong><return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time
                              separator. This is the default. <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is
                              used as the time  separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used
                              as the time  separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time
                              separator. <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              <strong>$i5_decimal_sep</strong><return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the
                              decimal separator. This is the default. <return>DB2_I5_SEP_COMMA</return> - A comma ( ,
                              ) is used as the  decimal separator. <return>DB2_I5_SEP_JOB</return> - The job default
                              is used.
                              
                              A character value that indicates the default library that will be
                              used for resolving unqualified file references. This is not valid  if
                              the connection is using system naming mode.
                              
                              <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries  system naming
                              mode. Files are qualified using the slash (/) delimiter.  Unqualified
                              files are resolved using the library list for the job.
                              
                              <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default  naming mode,
                              which is SQL naming. Files are qualified using the period (.)
                              delimiter. Unqualified files are resolved using either the default
                              library  or the current user ID.
                              
                              The <strong>$i5_commit</strong> attribute should be set before the  <strong>db2_connect()</strong>. If
                              the value is changed after the  connection has been established, and
                              the connection is to a remote data  source, the change does not take
                              effect until the next successful  <strong>db2_connect()</strong> for the connection
                              handle.  The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible.
                              
                              <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                              Nonrepeatable reads, and phantoms are possible.
                              
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible.
                              
                              <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable.  Dirty reads,
                              non-repeatable reads, and phantoms are not possible
                              
                              <return>DB2_FIRST_IO</return> All queries are optimized with the goal of  returning the
                              first page of output as fast as possible. This goal works well  when
                              the output is controlled by a user who is most likely to cancel the
                              query  after viewing the first page of output data. Queries coded with
                              an  OPTIMIZE FOR nnn ROWS clause honor the goal specified by the
                              clause.
                              
                              <return>DB2_ALL_IO</return> All queries are optimized with the goal of running  the
                              entire query to completion in the shortest amount of elapsed time.
                              This is a  good option when the output of a query is being written to
                              a file or report, or  the interface is queuing the output data.
                              Queries coded with an OPTIMIZE FOR nnn  ROWS clause honor the goal
                              specified by the clause. This is the default.
                              
                              <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme  for DBCS
                              translation column size growth.
                              
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme  for
                              DBCS translation column size growth.
                              
                              Note: php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden  with the
                              <strong>$i5_dbcs_alloc</strong> option.
                              
                              <return>DB2_I5_FMT_ISO</return> - The International Organization for Standardization
                              (ISO) date format yyyy-mm-dd is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.
                              
                              <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                              
                              <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                              
                              <return>DB2_I5_FMT_JOB</return> - The job default is used.
                              
                              <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.  This
                              is the default.
                              
                              <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used
                              
                              <return>DB2_I5_FMT_ISO</return> - The International Organization for  Standardization
                              (ISO) time format hh.mm.ss is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is used, where
                              xx is AM or PM.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss  is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard  time format
                              hh:mm:ss is used.
                              
                              <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
                              
                              <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time  separator. This
                              is the default.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the decimal separator.
                              This is the default.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the  decimal separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              
                              The following new i5/OS option is available in ibm_db2 version 1.8.0
                              and later.   <strong>$i5_libl</strong> A character value that indicates the library
                              list that will be used for  resolving unqualified file references.
                              Specify the library list  elements separated by blanks
                              'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".  <strong>$i5_libl</strong> calls
                              qsys2/qcmdexc('cmd',cmdlen), which is only  available in i5/OS V5R4
                              and later.
                              
                              A character value that indicates the library list that will be used
                              for  resolving unqualified file references. Specify the library list
                              elements separated by blanks 'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".
                              
                              <strong>$i5_libl</strong> calls qsys2/qcmdexc('cmd',cmdlen), which is only  available
                              in i5/OS V5R4 and later.
  <info>      </info>  <strong>$autocommit       </strong>  Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                              connection handle.
                              
                              Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for this
                              connection handle.
  <info>      </info>  <strong>$DB2_ATTR_CASE    </strong>  Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names are
                              returned in natural case.
                              
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.
                              
                              Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                              returned in upper case.
  <info>      </info>  <strong>$CURSOR           </strong>  Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for
                              a statement resource. This is the default cursor type and is supported
                              on all database servers.
                              
                              Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor for a
                              statement resource. This mode enables random access to rows in a
                              result set, but currently is supported only by IBM DB2 Universal
                              Database.
  <info>      </info>  <strong>$trustedcontext   </strong>  Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context  on
                              for this connection handle. This parameter cannot be set using
                              <strong>db2_set_option()</strong>.
                              
                              This key works only if the database is cataloged (even if the
                              database is local), or if you specify the full DSN when you create
                              the connection.
                              
                              To catalog the database, use following commands:
                              
                              db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
  <info>      </info>  <strong>$i5_lib           </strong>  A character value that indicates the default library that will be
                              used for resolving unqualified file references. This is not valid  if
                              the connection is using system naming mode.
  <info>      </info>  <strong>$i5_naming        </strong>  <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries  system naming
                              mode. Files are qualified using the slash (/) delimiter.  Unqualified
                              files are resolved using the library list for the job.
                              
                              <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default  naming mode,
                              which is SQL naming. Files are qualified using the period (.)
                              delimiter. Unqualified files are resolved using either the default
                              library  or the current user ID.
  <info>      </info>  <strong>$i5_commit        </strong>  The <strong>$i5_commit</strong> attribute should be set before the  <strong>db2_connect()</strong>. If
                              the value is changed after the  connection has been established, and
                              the connection is to a remote data  source, the change does not take
                              effect until the next successful  <strong>db2_connect()</strong> for the connection
                              handle.  The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible.
                              
                              <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                              Nonrepeatable reads, and phantoms are possible.
                              
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible.
                              
                              <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable.  Dirty reads,
                              non-repeatable reads, and phantoms are not possible
  <info>      </info>  <strong>$i5_query_optimize</strong>  <return>DB2_FIRST_IO</return> All queries are optimized with the goal of  returning the
                              first page of output as fast as possible. This goal works well  when
                              the output is controlled by a user who is most likely to cancel the
                              query  after viewing the first page of output data. Queries coded with
                              an  OPTIMIZE FOR nnn ROWS clause honor the goal specified by the
                              clause.
                              
                              <return>DB2_ALL_IO</return> All queries are optimized with the goal of running  the
                              entire query to completion in the shortest amount of elapsed time.
                              This is a  good option when the output of a query is being written to
                              a file or report, or  the interface is queuing the output data.
                              Queries coded with an OPTIMIZE FOR nnn  ROWS clause honor the goal
                              specified by the clause. This is the default.
  <info>      </info>  <strong>$i5_dbcs_alloc    </strong>  <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme  for DBCS
                              translation column size growth.
                              
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme  for
                              DBCS translation column size growth.
                              
                              Note: php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden  with the
                              <strong>$i5_dbcs_alloc</strong> option.
  <info>      </info>  <strong>$i5_date_fmt      </strong>  <return>DB2_I5_FMT_ISO</return> - The International Organization for Standardization
                              (ISO) date format yyyy-mm-dd is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.
                              
                              <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                              
                              <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                              
                              <return>DB2_I5_FMT_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_date_sep      </strong>  <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.  This
                              is the default.
                              
                              <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used
  <info>      </info>  <strong>$i5_time_fmt      </strong>  <return>DB2_I5_FMT_ISO</return> - The International Organization for  Standardization
                              (ISO) time format hh.mm.ss is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is used, where
                              xx is AM or PM.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss  is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard  time format
                              hh:mm:ss is used.
                              
                              <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
  <info>      </info>  <strong>$i5_time_sep      </strong>  <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time  separator. This
                              is the default.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_decimal_sep   </strong>  <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the decimal separator.
                              This is the default.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the  decimal separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_libl          </strong>  A character value that indicates the library list that will be used
                              for  resolving unqualified file references. Specify the library list
                              elements separated by blanks 'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".
                              
                              <strong>$i5_libl</strong> calls qsys2/qcmdexc('cmd',cmdlen), which is only  available
                              in i5/OS V5R4 and later.

<comment>Return:</comment>
  <info>resource</info>  Returns a connection handle resource if the connection attempt is successful. If the
            connection attempt fails, <strong>db2_connect()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_close()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_cursor_type
type: function
doc:
<comment>Description:</comment>
  Returns the cursor type used by a statement resource
    
  
  Returns the cursor type used by a statement resource. Use this to determine if you are working
  with a forward-only cursor or scrollable cursor.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>int</info>  Returns either <return>DB2_FORWARD_ONLY</return> if the statement resource uses a forward-only cursor or
       <return>DB2_SCROLLABLE</return> if the statement resource uses a scrollable cursor.

<comment>See Also:</comment>
   * <strong>db2_prepare()</strong>


id: db2_escape_string
type: function
doc:
<comment>Description:</comment>
  Used to escape certain characters
    
  
  Prepends backslashes to special characters in the string argument.

<comment>Param:</comment>
  <info>string</info>  <strong>$string_literal</strong>  The string that contains special characters that need to be modified.
                           Characters that are prepended with a backslash are <return>\x00</return>,  <return>\n</return>, <return>\r</return>, <return>\</return>,  <return>'</return>,
                           <return>"</return> and <return>\x1a</return>.

<comment>Return:</comment>
  <info>string</info>  Returns <strong>$string_literal</strong> with the special characters  noted above prepended with
          backslashes.

<comment>See Also:</comment>
   * <strong>db2_prepare()</strong>


id: db2_exec
type: function
doc:
<comment>Description:</comment>
  Executes an SQL statement directly
    
  
  Executes an SQL statement directly.
  
  If you plan to interpolate PHP variables into the SQL statement, understand that this is one of
  the more common security exposures. Consider calling <strong>db2_prepare()</strong> to prepare an SQL statement
  with parameter markers for input values. Then you can call <strong>db2_execute()</strong> to pass in the input
  values and avoid SQL injection attacks.
  
  If you plan to repeatedly issue the same SQL statement with different parameters, consider calling
  <strong>db2_prepare()</strong> and <strong>db2_execute()</strong> to enable the database server to reuse its access plan and
  increase the efficiency of your database access.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string  </info>  <strong>$statement </strong>  An SQL statement. The statement cannot contain any parameter markers.
  <info>array   </info>  <strong>$options   </strong>  An associative array containing statement options. You can use this
                         parameter to request a scrollable cursor on database servers that support
                         this functionality.
                         
                         For a description of valid statement options, see  <strong>db2_set_option()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource if the SQL statement was issued successfully, or <info>false</info> if
            the database failed to execute the SQL statement.

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_prepare()</strong>


id: db2_execute
type: function
doc:
<comment>Description:</comment>
  Executes a prepared SQL statement
    
  
  <strong>db2_execute()</strong> executes an SQL statement that was prepared by <strong>db2_prepare()</strong>.
  
  If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored
  procedure that returns one or more result sets, you can retrieve a row as an array from the <return>stmt</return>
  resource using <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, or <strong>db2_fetch_array()</strong>. Alternatively, you can
  use <strong>db2_fetch_row()</strong> to move the result set pointer to the next row and fetch a column at a time
  from that row with <strong>db2_result()</strong>.
  
  Refer to <strong>db2_prepare()</strong> for a brief discussion of the advantages of using <strong>db2_prepare()</strong> and
  <strong>db2_execute()</strong> rather than <strong>db2_exec()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A prepared statement returned from <strong>db2_prepare()</strong>.
  <info>array   </info>  <strong>$parameters</strong>  An array of input parameters matching any parameter markers contained in
                         the prepared statement.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_exec()</strong>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_array
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by column position, representing a row in a result set
    
  
  Returns an array, indexed by column position, representing a row in a result set. The columns are
  0-indexed.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A valid <return>stmt</return> resource containing a result set.
  <info>int     </info>  <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array</info>  Returns a 0-indexed array with column values indexed by the column position representing
         the next or requested row in the result set. Returns <info>false</info> if there are no rows left in the
         result set, or if the row requested by <strong>$row_number</strong> does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by column name, representing a row in a result set
    
  
  Returns an array, indexed by column name, representing a row in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A valid <return>stmt</return> resource containing a result set.
  <info>int     </info>  <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array with column values indexed by the column name representing the
         next or requested row in the result set. Returns <info>false</info> if there are no rows left in the
         result set, or if the row requested by <strong>$row_number</strong> does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_both
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by both column name and position, representing a row in a result set
    
  
  Returns an array, indexed by both column name and position, representing a row in a result set.
  Note that the row returned by <strong>db2_fetch_both()</strong> requires more memory than the single-indexed arrays
  returned by <strong>db2_fetch_assoc()</strong> or <strong>db2_fetch_array()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A valid <return>stmt</return> resource containing a result set.
  <info>int     </info>  <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array with column values indexed by both the column name and
         0-indexed column number. The array represents the next or requested row in the result set.
         Returns <info>false</info> if there are no rows left in the result set, or if the row requested by
         <strong>$row_number</strong> does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_object
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties representing columns in the fetched row
    
  
  Returns an object in which each property represents a column returned in the row fetched from a
  result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A valid <return>stmt</return> resource containing a result set.
  <info>int     </info>  <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>object</info>  Returns an object representing a single row in the result set. The properties of the
          object map to the names of the columns in the result set.
          
          The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to
          upper-case, so the object properties will reflect that case.
          
          If your SELECT statement calls a scalar function to modify the value of a column, the
          database servers return the column number as the name of the column in the result set. If
          you prefer a more descriptive column name and object property, you can use the AS clause
          to assign a name to the column in the result set.
          
          Returns <info>false</info> if no row was retrieved.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_row
type: function
doc:
<comment>Description:</comment>
  Sets the result set pointer to the next row or requested row
    
  
  Use <strong>db2_fetch_row()</strong> to iterate through a result set, or to point to a specific row in a result set
  if you requested a scrollable cursor.
  
  To retrieve individual fields from the result set, call the <strong>db2_result()</strong> function.
  
  Rather than calling <strong>db2_fetch_row()</strong> and <strong>db2_result()</strong>, most applications will call one of
  <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, or <strong>db2_fetch_array()</strong> to advance the result set pointer and
  return a complete row as an array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt      </strong>  A valid <return>stmt</return> resource.
  <info>int     </info>  <strong>$row_number</strong>  With scrollable cursors, you can request a specific row number in the
                         result set. Row numbering is 1-indexed.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the requested row exists in the result set. Returns <info>false</info> if the requested
        row does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_result()</strong>


id: db2_field_display_size
type: function
doc:
<comment>Description:</comment>
  Returns the maximum number of bytes required to display a column
    
  
  Returns the maximum number of bytes required to display a column in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>int</info>  Returns an integer value with the maximum number of bytes required to display the specified
       column. If the column does not exist in the result set, <strong>db2_field_display_size()</strong> returns
       <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_name
type: function
doc:
<comment>Description:</comment>
  Returns the name of the column in the result set
    
  
  Returns the name of the specified column in the result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the name of the specified column. If the specified column does
          not exist in the result set, <strong>db2_field_name()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_num
type: function
doc:
<comment>Description:</comment>
  Returns the position of the named column in a result set
    
  
  Returns the position of the named column in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>int</info>  Returns an integer containing the 0-indexed position of the named column in the result set.
       If the specified column does not exist in the result set, <strong>db2_field_num()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_precision
type: function
doc:
<comment>Description:</comment>
  Returns the precision of the indicated column in a result set
    
  
  Returns the precision of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>int</info>  Returns an integer containing the precision of the specified column. If the specified column
       does not exist in the result set, <strong>db2_field_precision()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_scale
type: function
doc:
<comment>Description:</comment>
  Returns the scale of the indicated column in a result set
    
  
  Returns the scale of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>int</info>  Returns an integer containing the scale of the specified column. If the specified column does
       not exist in the result set, <strong>db2_field_scale()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_type
type: function
doc:
<comment>Description:</comment>
  Returns the data type of the indicated column in a result set
    
  
  Returns the data type of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the defined data type of the specified column. If the
          specified column does not exist in the result set, <strong>db2_field_type()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_width
type: function
doc:
<comment>Description:</comment>
  Returns the width of the current value of the indicated column in a result set
    
  
  Returns the width of the current value of the indicated column in a result set. This is the
  maximum width of the column for a fixed-length data type, or the actual width of the column for a
  variable-length data type.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  Specifies a statement resource containing a result set.
  <info>mixed   </info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                     representing the 0-indexed position of the column, or a string containing the
                     name of the column.

<comment>Return:</comment>
  <info>int</info>  Returns an integer containing the width of the specified character or binary data type column
       in a result set. If the specified column does not exist in the result set, <strong>db2_field_width()</strong>
       returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>


id: db2_foreign_keys
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the foreign keys for a table
    
  
  Returns a result set listing the foreign keys for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the tables. If <strong>$schema</strong> is <info>null</info>,
                         <strong>db2_foreign_keys()</strong> matches the schema for the current connection.
  <info>string  </info>  <strong>$table-name</strong>  The name of the table.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the foreign
            keys for the specified table. The result set is composed of the following columns:
            Column nameDescriptionPKTABLE_CAT Name of the catalog for the table containing the
            primary key. The value is NULL if this table does not have catalogs. PKTABLE_SCHEM Name
            of the schema for the table containing the primary key. PKTABLE_NAMEName of the table
            containing the primary key.PKCOLUMN_NAMEName of the column containing the primary
            key.FKTABLE_CAT Name of the catalog for the table containing the foreign key. The value
            is NULL if this table does not have catalogs. FKTABLE_SCHEM Name of the schema for the
            table containing the foreign key. FKTABLE_NAMEName of the table containing the foreign
            key.FKCOLUMN_NAMEName of the column containing the foreign key.KEY_SEQ1-indexed position
            of the column in the key.UPDATE_RULE Integer value representing the action applied to
            the foreign key when the SQL operation is UPDATE. DELETE_RULE Integer value representing
            the action applied to the foreign key when the SQL operation is DELETE. FK_NAMEThe name
            of the foreign key.PK_NAMEThe name of the primary key.DEFERRABILITY An integer value
            representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED,
            SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_free_result
type: function
doc:
<comment>Description:</comment>
  Frees resources associated with a result set
    
  
  Frees the system and database resources that are associated with a result set. These resources are
  freed implicitly when a script finishes, but you can call <strong>db2_free_result()</strong> to explicitly free the
  result set resources before the end of the script.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_free_stmt()</strong>


id: db2_free_stmt
type: function
doc:
<comment>Description:</comment>
  Frees resources associated with the indicated statement resource
    
  
  Frees the system and database resources that are associated with a statement resource. These
  resources are freed implicitly when a script finishes, but you can call <strong>db2_free_stmt()</strong> to
  explicitly free the statement resources before the end of the script.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_free_result()</strong>


id: db2_get_option
type: function
doc:
<comment>Description:</comment>
  Retrieves an option value for a statement resource or a connection resource
  
  Retrieves the value of a specified option value for a statement resource  or a connection
  resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource  </strong>  A valid statement resource as returned from <strong>db2_prepare()</strong> or a valid
                         connection resource as returned from <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string  </info>  <strong>$option    </strong>  A valid statement or connection options. The following new options are
                         available  as of ibm_db2 version 1.6.0. They provide useful tracking
                         information  that can be set during execution with <strong>db2_get_option()</strong>.  Prior
                         versions of ibm_db2 do not support these new options.  When the value in
                         each option is being set, some servers might not handle  the entire length
                         provided and might truncate the value.  To ensure that the data specified
                         in each option is converted correctly  when transmitted to a host system,
                         use only the characters A through Z,  0 through 9, and the underscore (_)
                         or period (.).  <strong>$userid</strong><return>SQL_ATTR_INFO_USERID</return> - A pointer to a
                         null-terminated  character string used to identify the client user ID sent
                         to the host  database server when using DB2 Connect.  DB2 for z/OS and
                         OS/390 servers support up to a length of 16 characters.  This user-id is
                         not to be confused with the authentication user-id, it is for
                         identification purposes only and is not used for any authorization.
                         <strong>$acctstr</strong><return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                         string used to identify the client accounting string sent to the  host
                         database server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                         support up to a length of 200 characters.  <strong>$applname</strong><return>SQL_ATTR_INFO_APPLNAME</return>
                         - A pointer to a null-terminated  character string used to identify the
                         client application name sent to the  host database server when using DB2
                         Connect.  DB2 for z/OS and OS/390 servers support up to a length of 32
                         characters.  <strong>$wrkstnname</strong><return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a
                         null-terminated  character string used to identify the client workstation
                         name sent to the  host database server when using DB2 Connect.  DB2 for
                         z/OS and OS/390 servers support up to a length of 18 characters.
                         
                         Prior versions of ibm_db2 do not support these new options.
                         
                         When the value in each option is being set, some servers might not handle
                         the entire length provided and might truncate the value.
                         
                         To ensure that the data specified in each option is converted correctly
                         when transmitted to a host system, use only the characters A through Z,  0
                         through 9, and the underscore (_) or period (.).
                         
                         <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character string
                         used to identify the client user ID sent to the host  database server when
                         using DB2 Connect.  DB2 for z/OS and OS/390 servers support up to a length
                         of 16 characters.  This user-id is not to be confused with the
                         authentication user-id, it is for  identification purposes only and is not
                         used for any authorization.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 16 characters.
                         This user-id is not to be confused with the authentication user-id, it is
                         for  identification purposes only and is not used for any authorization.
                         
                         <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character string
                         used to identify the client accounting string sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 200 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 200 characters.
                         
                         <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client application name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 32 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 32 characters.
                         
                         <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client workstation name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 18 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 18 characters.
  <info>        </info>  <strong>$userid    </strong>  <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character string
                         used to identify the client user ID sent to the host  database server when
                         using DB2 Connect.  DB2 for z/OS and OS/390 servers support up to a length
                         of 16 characters.  This user-id is not to be confused with the
                         authentication user-id, it is for  identification purposes only and is not
                         used for any authorization.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 16 characters.
                         This user-id is not to be confused with the authentication user-id, it is
                         for  identification purposes only and is not used for any authorization.
  <info>        </info>  <strong>$acctstr   </strong>  <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character string
                         used to identify the client accounting string sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 200 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 200 characters.
  <info>        </info>  <strong>$applname  </strong>  <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client application name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 32 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 32 characters.
  <info>        </info>  <strong>$wrkstnname</strong>  <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client workstation name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 18 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the current setting of the connection attribute provided on success  o <info>false</info>
               in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_cursor_type()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_set_option()</strong>
   * <strong>db2_pconnect()</strong>
   * <strong>db2_prepare()</strong>


id: db2_last_insert_id
type: function
doc:
<comment>Description:</comment>
  Returns the auto generated ID of the last insert query that successfully 
    executed on this connection
  
  Returns the auto generated ID of the last insert query that successfully  executed on this
  connection.
  
  The result of this function is not affected by any of the following:  A single row INSERT
  statement with a VALUES clause for a table without an identity column.  A multiple row INSERT
  statement with a VALUES clause.  An INSERT statement with a fullselect.  A ROLLBACK TO SAVEPOINT
  statement.
  
  A single row INSERT statement with a VALUES clause for a table without an identity column.
  
  A multiple row INSERT statement with a VALUES clause.
  
  An INSERT statement with a fullselect.
  
  A ROLLBACK TO SAVEPOINT statement.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  A valid connection resource as returned from <strong>db2_connect()</strong>  or
                       <strong>db2_pconnect()</strong>. The value of this parameter cannot be a  statement resource
                       or result set resource.

<comment>Return:</comment>
  <info>string</info>  Returns the auto generated ID of last insert query that successfully  executed on this
          connection.


id: db2_lob_read
type: function
doc:
<comment>Description:</comment>
  Gets a user defined size of LOB files with each invocation
    
  
  Use <strong>db2_lob_read()</strong> to iterate through a specified column of  a result set and retrieve a user
  defined size of LOB data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  A valid <return>stmt</return> resource containing LOB data.
  <info>int     </info>  <strong>$colnum</strong>  A valid column number in the result set of the <return>stmt</return> resource.
  <info>int     </info>  <strong>$length</strong>  The size of the LOB data to be retrieved from the <return>stmt</return> resource.

<comment>Return:</comment>
  <info>string</info>  Returns the amount of data the user specifies. Returns <info>false</info> if the data cannot be
          retrieved.

<comment>See Also:</comment>
   * <strong>db2_bind_param()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_execute()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_result()</strong>


id: db2_next_result
type: function
doc:
<comment>Description:</comment>
  Requests the next result set from a stored procedure
    
  
  A stored procedure can return zero or more result sets. While you handle the first result set in
  exactly the same way you would handle the results returned by a simple SELECT statement, to fetch
  the second and subsequent result sets from a stored procedure you must call the <strong>db2_next_result()</strong>
  function and return the result to a uniquely named PHP variable.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A prepared statement returned from <strong>db2_exec()</strong> or <strong>db2_execute()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a new statement resource containing the next result set if the stored procedure
            returned another result set. Returns <info>false</info> if the stored procedure did not return
            another result set.


id: db2_num_fields
type: function
doc:
<comment>Description:</comment>
  Returns the number of fields contained in a result set
    
  
  Returns the number of fields contained in a result set. This is most useful for handling the
  result sets returned by dynamically generated queries, or for result sets returned by stored
  procedures, where your application cannot otherwise know how to retrieve and use the results.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource containing a result set.

<comment>Return:</comment>
  <info>int</info>  Returns an integer value representing the number of fields in the result set associated with
       the specified statement resource. Returns <info>false</info> if the statement resource is not a valid
       input value.

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_num_rows
type: function
doc:
<comment>Description:</comment>
  Returns the number of rows affected by an SQL statement
    
  
  Returns the number of rows deleted, inserted, or updated by an SQL statement.
  
  To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*)
  with the same predicates as your intended SELECT statement and retrieve the value.
  
  If your application logic checks the number of rows returned by a SELECT statement and branches if
  the number of rows is 0, consider modifying your application to attempt to return the first row
  with one of <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, <strong>db2_fetch_array()</strong>, or <strong>db2_fetch_row()</strong>, and branch
  if the fetch function returns <info>false</info>.
  
  If you issue a SELECT statement using a scrollable cursor, <strong>db2_num_rows()</strong> returns the number of
  rows returned by the SELECT statement. However, the overhead associated with scrollable cursors
  significantly degrades the performance of your application, so if this is the only reason you are
  considering using scrollable cursors, you should use a forward-only cursor and either call SELECT
  COUNT(*) or rely on the <info>bool</info> return value of the fetch functions to achieve the equivalent
  functionality with much better performance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid <return>stmt</return> resource containing a result set.

<comment>Return:</comment>
  <info>int</info>  Returns the number of rows affected by the last SQL statement issued by the specified
       statement handle.


id: db2_pclose
type: function
doc:
<comment>Description:</comment>
  Closes a persistent database connection
  
  This function closes a DB2 client connection created with  <strong>db2_pconnect()</strong> and returns the
  corresponding resources  to the database server.    This function is only available on i5/OS in
  response to i5/OS system  administration requests.
  
  This function is only available on i5/OS in response to i5/OS system  administration requests.
  
  If you have a persistent DB2 client connection created with  <strong>db2_pconnect()</strong>, you may use this
  function to close the  connection. To avoid substantial connection performance penalties, this
  function should only be used in rare cases when the persistent connection  has become unresponsive
  or the persistent connection will not be needed for  a long period of time.

<comment>Param:</comment>
  <info></info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_close()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_pconnect
type: function
doc:
<comment>Description:</comment>
  Returns a persistent connection to a database
    
  
  Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby
  database.
  
  For more information on persistent connections, refer to .
  
  Calling <strong>db2_close()</strong> on a persistent connection always returns <info>true</info>, but the underlying DB2 client
  connection remains open and waiting to serve the next matching <strong>db2_pconnect()</strong> request.
  
  Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a
  transaction rollback on persistent connections at the end of a request, thus ending the
  transaction.  This prevents the transaction block from carrying over to the next request which
  uses that connection if script execution ends before the transaction block does.

<comment>Param:</comment>
  <info>string</info>  <strong>$database         </strong>  The database alias in the DB2 client catalog.
  <info>string</info>  <strong>$username         </strong>  The username with which you are connecting to the database.
  <info>string</info>  <strong>$password         </strong>  The password with which you are connecting to the database.
  <info>array </info>  <strong>$options          </strong>  An associative array of connection options that affect the behavior of
                              the connection, where valid array keys include: <strong>$autocommit</strong> Passing
                              the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this connection
                              handle.  Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                              this connection handle. <strong>$DB2_ATTR_CASE</strong> Passing the <return>DB2_CASE_NATURAL</return>
                              value specifies that column names are returned in natural case.
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.  Passing the <return>DB2_CASE_UPPER</return> value specifies
                              that column names are returned in upper case. <strong>$CURSOR</strong> Passing the
                              <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for a statement
                              resource. This is the default cursor type and is supported on all
                              database servers.  Passing the <return>DB2_SCROLLABLE</return> value specifies a
                              scrollable cursor for a statement resource. This mode enables random
                              access to rows in a result set, but currently is supported only by IBM
                              DB2 Universal Database.
                              
                              Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                              connection handle.
                              
                              Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for this
                              connection handle.
                              
                              Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names are
                              returned in natural case.
                              
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.
                              
                              Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                              returned in upper case.
                              
                              Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for
                              a statement resource. This is the default cursor type and is supported
                              on all database servers.
                              
                              Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor for a
                              statement resource. This mode enables random access to rows in a
                              result set, but currently is supported only by IBM DB2 Universal
                              Database.
                              
                              The following new option is available in ibm_db2 version 1.7.0  and
                              later.  <strong>$trustedcontext</strong> Passing the DB2_TRUSTED_CONTEXT_ENABLE value
                              turns trusted context  on for this connection handle. This parameter
                              cannot be set using  <strong>db2_set_option()</strong>.  This key works only if the
                              database is cataloged (even if the  database is local), or if you
                              specify the full DSN when you create   the connection.  To catalog the
                              database, use following commands: db2 catalog tcpip node loopback
                              remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
                              
                              Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context  on
                              for this connection handle. This parameter cannot be set using
                              <strong>db2_set_option()</strong>.
                              
                              This key works only if the database is cataloged (even if the
                              database is local), or if you specify the full DSN when you create
                              the connection.
                              
                              To catalog the database, use following commands:
                              
                              db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
                              
                              The following new i5/OS options are available in ibm_db2 version 1.5.1
                              and later. Conflicting connection attributes used in conjunction with
                              persistent  connections can produce indeterminate results on i5/OS.
                              Site policies should  be establish for all applications using each
                              persistent connection user  profile. The default DB2_AUTOCOMMIT_ON is
                              suggested when using persistent connections.  <strong>$i5_lib</strong> A character
                              value that indicates the default library that will be  used for
                              resolving unqualified file references. This is not valid  if the
                              connection is using system naming mode. <strong>$i5_naming</strong><return>DB2_I5_NAMING_ON</return>
                              value turns on DB2 UDB CLI iSeries  system naming mode. Files are
                              qualified using the slash (/) delimiter.  Unqualified files are
                              resolved using the library list for the job. <return>DB2_I5_NAMING_OFF</return> value
                              turns off DB2 UDB CLI default  naming mode, which is SQL naming. Files
                              are qualified using the period (.)  delimiter. Unqualified files are
                              resolved using either the default library  or the current user ID.
                              <strong>$i5_commit</strong> The <strong>$i5_commit</strong> attribute should be set before the
                              <strong>db2_pconnect()</strong>. If the value is changed after the  connection has been
                              established, and the connection is to a remote data  source, the
                              change does not take effect until the next successful  <strong>db2_pconnect()</strong>
                              for the connection handle.  The php.ini setting
                              <strong>$ibm_db2.i5_allow_commit</strong>==0  or <return>DB2_I5_TXN_NO_COMMIT</return> is the default,
                              but may be  overridden with the <strong>$i5_commit</strong> option.
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible. <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not
                              possible.  Nonrepeatable reads, and phantoms are possible.
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible. <return>DB2_I5_TXN_SERIALIZABLE</return> -
                              Transactions are serializable.  Dirty reads, non-repeatable reads, and
                              phantoms are not possible <strong>$i5_query_optimize</strong><return>DB2_FIRST_IO</return> All queries
                              are optimized with the goal of  returning the first page of output as
                              fast as possible. This goal works well  when the output is controlled
                              by a user who is most likely to cancel the query  after viewing the
                              first page of output data. Queries coded with an  OPTIMIZE FOR nnn
                              ROWS clause honor the goal specified by the clause. <return>DB2_ALL_IO</return> All
                              queries are optimized with the goal of running  the entire query to
                              completion in the shortest amount of elapsed time. This is a  good
                              option when the output of a query is being written to a file or
                              report, or  the interface is queuing the output data. Queries coded
                              with an OPTIMIZE FOR nnn  ROWS clause honor the goal specified by the
                              clause. This is the default. <strong>$i5_dbcs_alloc</strong><return>DB2_I5_DBCS_ALLOC_ON</return> value
                              turns on DB2 6X allocation scheme  for DBCS translation column size
                              growth. <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                              for DBCS translation column size growth.   The php.ini setting
                              <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or  <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default,
                              but may be overridden  with the <strong>$i5_dbcs_alloc</strong> option.
                              <strong>$i5_date_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                              Standardization  (ISO) date format yyyy-mm-dd is used. This is the
                              default. <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                              used. <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.  <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is
                              used.  <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used. <return>DB2_I5_FMT_JUL</return> -
                              The Julian date format yy/ddd is used. <return>DB2_I5_FMT_JOB</return> - The job
                              default is used. <strong>$i5_date_sep</strong><return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used
                              as the date separator.  This is the default. <return>DB2_I5_SEP_DASH</return> - A dash
                              ( - ) is used as the date separator. <return>DB2_I5_SEP_PERIOD</return> - A period ( .
                              ) is used as the date  separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is
                              used as the date separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as the
                              date separator. <return>DB2_I5_SEP_JOB</return> - The job default is used
                              <strong>$i5_time_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                              Standardization (ISO) time format hh.mm.ss is used. This is the
                              default. <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is
                              used, where xx is AM or PM. <return>DB2_I5_FMT_EUR</return> - The European time format
                              hh.mm.ss  is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard
                              time format hh:mm:ss is used. <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is
                              used. <strong>$i5_time_sep</strong><return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time
                              separator. This is the default. <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is
                              used as the time  separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used
                              as the time  separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time
                              separator. <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              <strong>$i5_decimal_sep</strong><return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the
                              decimal separator. This is the default. <return>DB2_I5_SEP_COMMA</return> - A comma ( ,
                              ) is used as the  decimal separator. <return>DB2_I5_SEP_JOB</return> - The job default
                              is used.
                              
                              Conflicting connection attributes used in conjunction with persistent
                              connections can produce indeterminate results on i5/OS. Site policies
                              should  be establish for all applications using each persistent
                              connection user  profile. The default DB2_AUTOCOMMIT_ON is suggested
                              when using persistent connections.
                              
                              A character value that indicates the default library that will be
                              used for resolving unqualified file references. This is not valid  if
                              the connection is using system naming mode.
                              
                              <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries  system naming
                              mode. Files are qualified using the slash (/) delimiter.  Unqualified
                              files are resolved using the library list for the job.
                              
                              <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default  naming mode,
                              which is SQL naming. Files are qualified using the period (.)
                              delimiter. Unqualified files are resolved using either the default
                              library  or the current user ID.
                              
                              The <strong>$i5_commit</strong> attribute should be set before the  <strong>db2_pconnect()</strong>. If
                              the value is changed after the  connection has been established, and
                              the connection is to a remote data  source, the change does not take
                              effect until the next successful  <strong>db2_pconnect()</strong> for the connection
                              handle.  The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible.
                              
                              <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                              Nonrepeatable reads, and phantoms are possible.
                              
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible.
                              
                              <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable.  Dirty reads,
                              non-repeatable reads, and phantoms are not possible
                              
                              <return>DB2_FIRST_IO</return> All queries are optimized with the goal of  returning the
                              first page of output as fast as possible. This goal works well  when
                              the output is controlled by a user who is most likely to cancel the
                              query  after viewing the first page of output data. Queries coded with
                              an  OPTIMIZE FOR nnn ROWS clause honor the goal specified by the
                              clause.
                              
                              <return>DB2_ALL_IO</return> All queries are optimized with the goal of running  the
                              entire query to completion in the shortest amount of elapsed time.
                              This is a  good option when the output of a query is being written to
                              a file or report, or  the interface is queuing the output data.
                              Queries coded with an OPTIMIZE FOR nnn  ROWS clause honor the goal
                              specified by the clause. This is the default.
                              
                              <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme  for DBCS
                              translation column size growth.
                              
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme  for
                              DBCS translation column size growth.   The php.ini setting
                              <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or  <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default,
                              but may be overridden  with the <strong>$i5_dbcs_alloc</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden  with the
                              <strong>$i5_dbcs_alloc</strong> option.
                              
                              <return>DB2_I5_FMT_ISO</return> - The International Organization for Standardization
                              (ISO) date format yyyy-mm-dd is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.
                              
                              <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                              
                              <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                              
                              <return>DB2_I5_FMT_JOB</return> - The job default is used.
                              
                              <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.  This
                              is the default.
                              
                              <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used
                              
                              <return>DB2_I5_FMT_ISO</return> - The International Organization for  Standardization
                              (ISO) time format hh.mm.ss is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is used, where
                              xx is AM or PM.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss  is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard  time format
                              hh:mm:ss is used.
                              
                              <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
                              
                              <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time  separator. This
                              is the default.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the decimal separator.
                              This is the default.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the  decimal separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
                              
                              The following new i5/OS option is available in ibm_db2 version 1.8.0
                              and later.   <strong>$i5_libl</strong> A character value that indicates the library
                              list that will be used for  resolving unqualified file references.
                              Specify the library list  elements separated by blanks
                              'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".   i5_libl calls
                              qsys2/qcmdexc('cmd',cmdlen), which is only available  in i5/OS V5R4
                              and later.
                              
                              A character value that indicates the library list that will be used
                              for  resolving unqualified file references. Specify the library list
                              elements separated by blanks 'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".
                              i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available  in
                              i5/OS V5R4 and later.
                              
                              i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available  in
                              i5/OS V5R4 and later.
  <info>      </info>  <strong>$autocommit       </strong>  Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                              connection handle.
                              
                              Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for this
                              connection handle.
  <info>      </info>  <strong>$DB2_ATTR_CASE    </strong>  Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names are
                              returned in natural case.
                              
                              Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                              returned in lower case.
                              
                              Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                              returned in upper case.
  <info>      </info>  <strong>$CURSOR           </strong>  Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for
                              a statement resource. This is the default cursor type and is supported
                              on all database servers.
                              
                              Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor for a
                              statement resource. This mode enables random access to rows in a
                              result set, but currently is supported only by IBM DB2 Universal
                              Database.
  <info>      </info>  <strong>$trustedcontext   </strong>  Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context  on
                              for this connection handle. This parameter cannot be set using
                              <strong>db2_set_option()</strong>.
                              
                              This key works only if the database is cataloged (even if the
                              database is local), or if you specify the full DSN when you create
                              the connection.
                              
                              To catalog the database, use following commands:
                              
                              db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                              db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                              db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                              db2set DB2COMM=TCPIP
  <info>      </info>  <strong>$i5_lib           </strong>  A character value that indicates the default library that will be
                              used for resolving unqualified file references. This is not valid  if
                              the connection is using system naming mode.
  <info>      </info>  <strong>$i5_naming        </strong>  <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries  system naming
                              mode. Files are qualified using the slash (/) delimiter.  Unqualified
                              files are resolved using the library list for the job.
                              
                              <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default  naming mode,
                              which is SQL naming. Files are qualified using the period (.)
                              delimiter. Unqualified files are resolved using either the default
                              library  or the current user ID.
  <info>      </info>  <strong>$i5_commit        </strong>  The <strong>$i5_commit</strong> attribute should be set before the  <strong>db2_pconnect()</strong>. If
                              the value is changed after the  connection has been established, and
                              the connection is to a remote data  source, the change does not take
                              effect until the next successful  <strong>db2_pconnect()</strong> for the connection
                              handle.  The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0  or
                              <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be  overridden with the
                              <strong>$i5_commit</strong> option.
                              
                              <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                              
                              <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable  reads, and
                              phantoms are possible.
                              
                              <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                              Nonrepeatable reads, and phantoms are possible.
                              
                              <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable  reads are
                              not possible. Phantoms are possible.
                              
                              <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable.  Dirty reads,
                              non-repeatable reads, and phantoms are not possible
  <info>      </info>  <strong>$i5_query_optimize</strong>  <return>DB2_FIRST_IO</return> All queries are optimized with the goal of  returning the
                              first page of output as fast as possible. This goal works well  when
                              the output is controlled by a user who is most likely to cancel the
                              query  after viewing the first page of output data. Queries coded with
                              an  OPTIMIZE FOR nnn ROWS clause honor the goal specified by the
                              clause.
                              
                              <return>DB2_ALL_IO</return> All queries are optimized with the goal of running  the
                              entire query to completion in the shortest amount of elapsed time.
                              This is a  good option when the output of a query is being written to
                              a file or report, or  the interface is queuing the output data.
                              Queries coded with an OPTIMIZE FOR nnn  ROWS clause honor the goal
                              specified by the clause. This is the default.
  <info>      </info>  <strong>$i5_dbcs_alloc    </strong>  <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme  for DBCS
                              translation column size growth.
                              
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme  for
                              DBCS translation column size growth.   The php.ini setting
                              <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or  <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default,
                              but may be overridden  with the <strong>$i5_dbcs_alloc</strong> option.
                              
                              The php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                              <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden  with the
                              <strong>$i5_dbcs_alloc</strong> option.
  <info>      </info>  <strong>$i5_date_fmt      </strong>  <return>DB2_I5_FMT_ISO</return> - The International Organization for Standardization
                              (ISO) date format yyyy-mm-dd is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                              yyyy-mm-dd is used.
                              
                              <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                              
                              <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                              
                              <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                              
                              <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                              
                              <return>DB2_I5_FMT_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_date_sep      </strong>  <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.  This
                              is the default.
                              
                              <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used
  <info>      </info>  <strong>$i5_time_fmt      </strong>  <return>DB2_I5_FMT_ISO</return> - The International Organization for  Standardization
                              (ISO) time format hh.mm.ss is used. This is the default.
                              
                              <return>DB2_I5_FMT_USA</return> - The United States time format  hh:mmxx is used, where
                              xx is AM or PM.
                              
                              <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss  is used.
                              
                              <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard  time format
                              hh:mm:ss is used.
                              
                              <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
  <info>      </info>  <strong>$i5_time_sep      </strong>  <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time  separator. This
                              is the default.
                              
                              <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time  separator.
                              
                              <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_decimal_sep   </strong>  <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as  the decimal separator.
                              This is the default.
                              
                              <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the  decimal separator.
                              
                              <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info>      </info>  <strong>$i5_libl          </strong>  A character value that indicates the library list that will be used
                              for  resolving unqualified file references. Specify the library list
                              elements separated by blanks 'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".
                              i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available  in
                              i5/OS V5R4 and later.
                              
                              i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available  in
                              i5/OS V5R4 and later.

<comment>Return:</comment>
  <info>resource</info>  Returns a connection handle resource if the connection attempt is successful.
            <strong>db2_pconnect()</strong> tries to reuse an existing connection resource that exactly matches the
            <strong>$database</strong>, <strong>$username</strong>, and <strong>$password</strong> parameters. If the connection attempt fails,
            <strong>db2_pconnect()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>


id: db2_prepare
type: function
doc:
<comment>Description:</comment>
  Prepares an SQL statement to be executed
    
  
  <strong>db2_prepare()</strong> creates a prepared SQL statement which can include 0 or more parameter markers (<return>?</return>
  characters) representing parameters for input, output, or input/output. You can pass parameters to
  the prepared statement using <strong>db2_bind_param()</strong>, or for input values only, as an array passed to
  <strong>db2_execute()</strong>.
  
  There are three main advantages to using prepared statements in your application: Performance:
  when you prepare a statement, the database server creates an optimized access plan for retrieving
  data with that statement. Subsequently issuing the prepared statement with <strong>db2_execute()</strong> enables
  the statements to reuse that access plan and avoids the overhead of dynamically creating a new
  access plan for every statement you issue. Security: when you prepare a statement, you can include
  parameter markers for input values. When you execute a prepared statement with input values for
  placeholders, the database server checks each input value to ensure that the type matches the
  column definition or parameter definition. Advanced functionality: Parameter markers not only
  enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT
  and INOUT parameters from stored procedures using <strong>db2_bind_param()</strong>.
  
  Performance: when you prepare a statement, the database server creates an optimized access plan
  for retrieving data with that statement. Subsequently issuing the prepared statement with
  <strong>db2_execute()</strong> enables the statements to reuse that access plan and avoids the overhead of
  dynamically creating a new access plan for every statement you issue.
  
  Security: when you prepare a statement, you can include parameter markers for input values. When
  you execute a prepared statement with input values for placeholders, the database server checks
  each input value to ensure that the type matches the column definition or parameter definition.
  
  Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL
  statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using
  <strong>db2_bind_param()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string  </info>  <strong>$statement </strong>  An SQL statement, optionally containing one or more parameter markers..
  <info>array   </info>  <strong>$options   </strong>  An associative array containing statement options. You can use this
                         parameter to request a scrollable cursor on database servers that support
                         this functionality.
                         
                         For a description of valid statement options, see  <strong>db2_set_option()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource if the SQL statement was successfully parsed and prepared
            by the database server. Returns <info>false</info> if the database server returned an error. You can
            determine which error was returned by calling <strong>db2_stmt_error()</strong> or <strong>db2_stmt_errormsg()</strong>.

<comment>See Also:</comment>
   * <strong>db2_bind_param()</strong>
   * <strong>db2_execute()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_primary_keys
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing primary keys for a table
    
  
  Returns a result set listing the primary keys for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the tables. If <strong>$schema</strong> is <info>null</info>,
                         <strong>db2_primary_keys()</strong> matches the schema for the current connection.
  <info>string  </info>  <strong>$table-name</strong>  The name of the table.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the primary
            keys for the specified table. The result set is composed of the following columns:
            Column nameDescriptionTABLE_CAT Name of the catalog for the table containing the primary
            key. The value is NULL if this table does not have catalogs. TABLE_SCHEM Name of the
            schema for the table containing the primary key. TABLE_NAMEName of the table containing
            the primary key.COLUMN_NAMEName of the column containing the primary
            key.KEY_SEQ1-indexed position of the column in the key.PK_NAMEThe name of the primary
            key.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_procedure_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing stored procedure parameters
    
  
  Returns a result set listing the parameters for one or more stored procedures.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the procedures. This parameter accepts a search
                         pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$procedure </strong>  The name of the procedure. This parameter accepts a search pattern
                         containing <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$parameter </strong>  The name of the parameter. This parameter accepts a search pattern
                         containing <return>_</return> and <return>%</return> as wildcards. If this parameter is <info>null</info>, all parameters
                         for the specified stored procedures are returned.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the parameters
            for the stored procedures matching the specified parameters. The rows are composed of
            the following columns: Column nameDescriptionPROCEDURE_CATThe catalog that contains the
            procedure. The value is <info>null</info> if this table does not have catalogs.PROCEDURE_SCHEMName of
            the schema that contains the stored procedure.PROCEDURE_NAMEName of the
            procedure.COLUMN_NAMEName of the parameter.COLUMN_TYPE An integer value representing the
            type of the parameter: Return valueParameter type1 (SQL_PARAM_INPUT)Input (IN)
            parameter.2 (SQL_PARAM_INPUT_OUTPUT)Input/output (INOUT) parameter.3
            (SQL_PARAM_OUTPUT)Output (OUT) parameter. DATA_TYPEThe SQL data type for the parameter
            represented as an integer value.TYPE_NAMEA string representing the data type for the
            parameter.COLUMN_SIZEAn integer value representing the size of the
            parameter.BUFFER_LENGTH Maximum number of bytes necessary to store data for this
            parameter. DECIMAL_DIGITS The scale of the parameter, or <info>null</info> where scale is not
            applicable. NUM_PREC_RADIX An integer value of either <return>10</return> (representing an exact numeric
            data type), <return>2</return> (representing an approximate numeric data type), or <info>null</info> (representing a
            data type for which radix is not applicable). NULLABLEAn integer value representing
            whether the parameter is nullable or not.REMARKSDescription of the
            parameter.COLUMN_DEFDefault value for the parameter.SQL_DATA_TYPEAn integer value
            representing the size of the parameter.SQL_DATETIME_SUB Returns an integer value
            representing a datetime subtype code, or <info>null</info> for SQL data types to which this does not
            apply. CHAR_OCTET_LENGTH Maximum length in octets for a character data type parameter,
            which matches COLUMN_SIZE for single-byte character set data, or <info>null</info> for non-character
            data types. ORDINAL_POSITIONThe 1-indexed position of the parameter in the CALL
            statement.IS_NULLABLE A string value where 'YES' means that the parameter accepts or
            returns <info>null</info> values and 'NO' means that the parameter does not accept or return <info>null</info>
            values.
            
            An integer value representing the type of the parameter: Return valueParameter type1
            (SQL_PARAM_INPUT)Input (IN) parameter.2 (SQL_PARAM_INPUT_OUTPUT)Input/output (INOUT)
            parameter.3 (SQL_PARAM_OUTPUT)Output (OUT) parameter.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_procedures
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the stored procedures registered in a database
    
  
  Returns a result set listing the stored procedures registered in a database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the procedures. This parameter accepts a search
                         pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$procedure </strong>  The name of the procedure. This parameter accepts a search pattern
                         containing <return>_</return> and <return>%</return> as wildcards.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the stored
            procedures matching the specified parameters. The rows are composed of the following
            columns: Column nameDescriptionPROCEDURE_CATThe catalog that contains the procedure. The
            value is <info>null</info> if this table does not have catalogs.PROCEDURE_SCHEMName of the schema
            that contains the stored procedure.PROCEDURE_NAMEName of the
            procedure.NUM_INPUT_PARAMSNumber of input (IN) parameters for the stored
            procedure.NUM_OUTPUT_PARAMSNumber of output (OUT) parameters for the stored
            procedure.NUM_RESULT_SETSNumber of result sets returned by the stored
            procedure.REMARKSAny comments about the stored procedure.PROCEDURE_TYPEAlways returns <return>1</return>,
            indicating that the stored procedure does not return a return value.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_result
type: function
doc:
<comment>Description:</comment>
  Returns a single column from a row in the result set
    
  
  Use <strong>db2_result()</strong> to return the value of a specified column in the current row of a result set. You
  must call <strong>db2_fetch_row()</strong> before calling <strong>db2_result()</strong> to set the location of the result set
  pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt  </strong>  A valid <return>stmt</return> resource.
  <info>mixed   </info>  <strong>$column</strong>  Either an integer mapping to the 0-indexed field in the result set, or a string
                     matching the name of the column.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the requested field if the field exists in the result set. Returns
         NULL if the field does not exist, and issues a warning.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>


id: db2_rollback
type: function
doc:
<comment>Description:</comment>
  Rolls back a transaction
    
  
  Rolls back an in-progress transaction on the specified connection resource and begins a new
  transaction. PHP applications normally default to AUTOCOMMIT mode, so <strong>db2_rollback()</strong> normally has
  no effect unless AUTOCOMMIT has been turned off for the connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_autocommit()</strong>
   * <strong>db2_commit()</strong>


id: db2_server_info
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties that describe the DB2 database server
  
  This function returns an object with read-only properties that return information about the IBM
  DB2, Cloudscape, or Apache Derby database server. The following table lists the database server
  properties: Database server propertiesProperty nameReturn typeDescriptionDBMS_NAMEstringThe name
  of the database server to which you are connected. For DB2 servers this is a combination of <return>DB2</return>
  followed by the operating system on which the database server is running.DBMS_VERstringThe version
  of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version,  mm is
  the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8,
  minor version 2, update 1. DB_CODEPAGEintThe code page of the database to which you are
  connected.DB_NAMEstringThe name of the database to which you are connected.DFT_ISOLATIONstringThe
  default transaction isolation level supported by the server: UR Uncommitted read: changes are
  immediately visible by all concurrent transactions. CS Cursor stability: a row read by one
  transaction can be altered and committed by a second concurrent transaction. RS Read stability: a
  transaction can add or remove rows matching a search condition or a pending transaction. RR
  Repeatable read: data affected by pending transaction is not available to other transactions. NC
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.  IDENTIFIER_QUOTE_CHARstringThe character used to delimit an
  identifier.INST_NAMEstringThe instance on the database server that contains the
  database.ISOLATION_OPTIONarrayAn array of the isolation options supported by the database server.
  The isolation options are described in the DFT_ISOLATION property.KEYWORDSarrayAn array of the
  keywords reserved by the database server.LIKE_ESCAPE_CLAUSEbool<info>true</info> if the database server
  supports the use of <return>%</return> and <return>_</return> wildcard characters. <info>false</info> if the database server does not support
  these wildcard characters.MAX_COL_NAME_LENintMaximum length of a column name supported by the
  database server, expressed in bytes.MAX_IDENTIFIER_LENintMaximum length of an SQL identifier
  supported by the database server, expressed in characters.MAX_INDEX_SIZEintMaximum size of columns
  combined in an index supported by the database server, expressed in
  bytes.MAX_PROC_NAME_LENintMaximum length of a procedure name supported by the database server,
  expressed in bytes.MAX_ROW_SIZEintMaximum length of a row in a base table supported by the
  database server, expressed in bytes.MAX_SCHEMA_NAME_LENintMaximum length of a schema name
  supported by the database server, expressed in bytes.MAX_STATEMENT_LENintMaximum length of an SQL
  statement supported by the database server, expressed in bytes.MAX_TABLE_NAME_LENintMaximum length
  of a table name supported by the database server, expressed in bytes.NON_NULLABLE_COLUMNSbool<info>true</info>
  if the database server supports columns that can be defined as NOT NULL, <info>false</info> if the database
  server does not support columns defined as NOT NULL.PROCEDURESbool<info>true</info> if the database server
  supports the use of the CALL statement to call stored procedures, <info>false</info> if the database server
  does not support the CALL statement.SPECIAL_CHARSstringA string containing all of the characters
  other than a-Z, 0-9, and underscore that can be used in an identifier
  name.SQL_CONFORMANCEstringThe level of conformance to the ANSI/ISO SQL-92 specification offered by
  the database server: ENTRY Entry-level SQL-92 compliance. FIPS127 FIPS-127-2 transitional
  compliance. FULL Full level SQL-92 compliance. INTERMEDIATE Intermediate level SQL-92 compliance.
  
  The default transaction isolation level supported by the server: UR Uncommitted read: changes are
  immediately visible by all concurrent transactions. CS Cursor stability: a row read by one
  transaction can be altered and committed by a second concurrent transaction. RS Read stability: a
  transaction can add or remove rows matching a search condition or a pending transaction. RR
  Repeatable read: data affected by pending transaction is not available to other transactions. NC
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.
  
  Uncommitted read: changes are immediately visible by all concurrent transactions.
  
  Cursor stability: a row read by one transaction can be altered and committed by a second
  concurrent transaction.
  
  Read stability: a transaction can add or remove rows matching a search condition or a pending
  transaction.
  
  Repeatable read: data affected by pending transaction is not available to other transactions.
  
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.
  
  The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:
  ENTRY Entry-level SQL-92 compliance. FIPS127 FIPS-127-2 transitional compliance. FULL Full level
  SQL-92 compliance. INTERMEDIATE Intermediate level SQL-92 compliance.
  
  Entry-level SQL-92 compliance.
  
  FIPS-127-2 transitional compliance.
  
  Full level SQL-92 compliance.
  
  Intermediate level SQL-92 compliance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>object</info>  Returns an object on a successful call. Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>db2_client_info()</strong>


id: db2_set_option
type: function
doc:
<comment>Description:</comment>
  Set options for connection or statement resources
  
  Sets options for a statement resource or a connection resource. You cannot set options for result
  set resources.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource        </strong>  A valid statement resource as returned from <strong>db2_prepare()</strong> or a valid
                               connection resource as returned from <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>array   </info>  <strong>$options         </strong>  An associative array containing valid statement or connection
                               options. This parameter can be used to change autocommit values,
                               cursor types (scrollable or forward), and to specify the case of the
                               column names (lower, upper, or natural) that will appear in a result
                               set. <strong>$autocommit</strong> Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for
                               the specified connection resource.  Passing <return>DB2_AUTOCOMMIT_OFF</return> turns
                               autocommit off for the specified connection resource. <strong>$cursor</strong> Passing
                               <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a statement
                               resource. This is the default cursor type, and is supported by all
                               database servers.  Passing <return>DB2_SCROLLABLE</return> specifies a scrollable
                               cursor for a statement resource. Scrollable cursors enable result set
                               rows to be accessed in non-sequential order, but are only supported
                               by IBM DB2 Universal Database databases. <strong>$binmode</strong> Passing <return>DB2_BINARY</return>
                               specifies that binary data will be returned as is. This is the
                               default mode. This is the equivalent of setting <return>ibm_db2.binmode=1</return> in
                               php.ini.  Passing <return>DB2_CONVERT</return> specifies that binary data will be
                               converted to hexadecimal encoding, and will be returned as such. This
                               is the equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.  Passing
                               <return>DB2_PASSTHRU</return> specifies that binary data will be converted to <info>null</info>.
                               This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
                               <strong>$db2_attr_case</strong> Passing <return>DB2_CASE_LOWER</return> specifies that column names of
                               the result set are returned in lower case.  Passing <return>DB2_CASE_UPPER</return>
                               specifies that column names of the result set are returned in upper
                               case.  Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the
                               result set are returned in natural case. <strong>$deferred_prepare</strong> Passing
                               <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the specified
                               statement resource.  Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred
                               prepare off for the specified statement resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for the specified
                               connection resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_OFF</return> turns autocommit off for the specified
                               connection resource.
                               
                               Passing <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a
                               statement resource. This is the default cursor type, and is supported
                               by all database servers.
                               
                               Passing <return>DB2_SCROLLABLE</return> specifies a scrollable cursor for a statement
                               resource. Scrollable cursors enable result set rows to be accessed in
                               non-sequential order, but are only supported by IBM DB2 Universal
                               Database databases.
                               
                               Passing <return>DB2_BINARY</return> specifies that binary data will be returned as is.
                               This is the default mode. This is the equivalent of setting
                               <return>ibm_db2.binmode=1</return> in php.ini.
                               
                               Passing <return>DB2_CONVERT</return> specifies that binary data will be converted to
                               hexadecimal encoding, and will be returned as such. This is the
                               equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.
                               
                               Passing <return>DB2_PASSTHRU</return> specifies that binary data will be converted to
                               <info>null</info>. This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
                               
                               Passing <return>DB2_CASE_LOWER</return> specifies that column names of the result set
                               are returned in lower case.
                               
                               Passing <return>DB2_CASE_UPPER</return> specifies that column names of the result set
                               are returned in upper case.
                               
                               Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the result
                               set are returned in natural case.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the
                               specified statement resource.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred  prepare off for the
                               specified statement resource.
                               
                               The following new i5/OS options are available in ibm_db2 version
                               1.5.1  and later. These options apply only when running PHP and
                               ibm_db2 natively on i5 systems. <strong>$i5_fetch_only</strong><return>DB2_I5_FETCH_ON</return> -
                               Cursors are read-only  and cannot be used for positioned updates or
                               deletes. This  is the default unless <return>SQL_ATTR_FOR_FETCH_ONLY</return>
                               environment has been set to <return>SQL_FALSE</return>. <return>DB2_I5_FETCH_OFF</return> - Cursors can
                               be used  for positioned updates and deletes.
                               
                               <return>DB2_I5_FETCH_ON</return> - Cursors are read-only  and cannot be used for
                               positioned updates or deletes. This  is the default unless
                               <return>SQL_ATTR_FOR_FETCH_ONLY</return>  environment has been set to <return>SQL_FALSE</return>.
                               
                               <return>DB2_I5_FETCH_OFF</return> - Cursors can be used  for positioned updates and
                               deletes.
                               
                               The following new option is available in ibm_db2 version 1.8.0 and
                               later. <strong>$rowcount</strong><return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the
                               full row count prior to fetching, which means that  <strong>db2_num_rows()</strong>
                               returns the number of rows selected  even when a <return>ROLLFORWARD_ONLY</return>
                               cursor is used. <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the
                               full row count prior to fetching.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the full row count
                               prior to fetching, which means that  <strong>db2_num_rows()</strong> returns the
                               number of rows selected  even when a <return>ROLLFORWARD_ONLY</return> cursor is used.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the full row count
                               prior to fetching.
                               
                               The following new options are available in ibm_db2 version 1.7.0 and
                               later. <strong>$trusted_user</strong> To switch the user to a trusted user, pass the
                               User ID (String)  of the trusted user as the value of this key. This
                               option can  be set on a connection resource only. To use this option,
                               trusted context must be enabled on the connection resource.
                               <strong>$trusted_password</strong> The password (String) that corresponds to the user
                               specified by the trusted_user key.
                               
                               To switch the user to a trusted user, pass the User ID (String)  of
                               the trusted user as the value of this key. This option can  be set on
                               a connection resource only. To use this option, trusted context must
                               be enabled on the connection resource.
                               
                               The password (String) that corresponds to the user specified by the
                               trusted_user key.
                               
                               The following new options are available in ibm_db2 version 1.6.0 and
                               later.  These options provide useful tracking information that can be
                               accessed during  execution with <strong>db2_get_option()</strong>.  When the value in
                               each option is being set, some servers might not handle  the entire
                               length provided and might truncate the value.  To ensure that the
                               data specified in each option is converted correctly  when
                               transmitted to a host system, use only the characters A through Z,  0
                               through 9, and the underscore (_) or period (.).
                               <strong>$userid</strong><return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated
                               character string used to identify the client user ID sent to the host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 16 characters.  This user-id is not
                               to be confused with the authentication user-id, it is for
                               identification purposes only and is not used for any authorization.
                               <strong>$acctstr</strong><return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated
                               character string used to identify the client accounting string sent
                               to the  host database server when using DB2 Connect.  DB2 for z/OS
                               and OS/390 servers support up to a length of 200 characters.
                               <strong>$applname</strong><return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated
                               character string used to identify the client application name sent to
                               the  host database server when using DB2 Connect.  DB2 for z/OS and
                               OS/390 servers support up to a length of 32 characters.
                               <strong>$wrkstnname</strong><return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated
                               character string used to identify the client workstation name sent to
                               the  host database server when using DB2 Connect.  DB2 for z/OS and
                               OS/390 servers support up to a length of 18 characters.
                               
                               When the value in each option is being set, some servers might not
                               handle  the entire length provided and might truncate the value.
                               
                               To ensure that the data specified in each option is converted
                               correctly  when transmitted to a host system, use only the characters
                               A through Z,  0 through 9, and the underscore (_) or period (.).
                               
                               <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character
                               string used to identify the client user ID sent to the host  database
                               server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                               support up to a length of 16 characters.  This user-id is not to be
                               confused with the authentication user-id, it is for  identification
                               purposes only and is not used for any authorization.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 16
                               characters.  This user-id is not to be confused with the
                               authentication user-id, it is for  identification purposes only and
                               is not used for any authorization.
                               
                               <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                               string used to identify the client accounting string sent to the
                               host database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 200 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 200
                               characters.
                               
                               <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client application name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 32 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 32
                               characters.
                               
                               <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client workstation name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 18 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 18
                               characters.
  <info>        </info>  <strong>$autocommit      </strong>  Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for the specified
                               connection resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_OFF</return> turns autocommit off for the specified
                               connection resource.
  <info>        </info>  <strong>$cursor          </strong>  Passing <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a
                               statement resource. This is the default cursor type, and is supported
                               by all database servers.
                               
                               Passing <return>DB2_SCROLLABLE</return> specifies a scrollable cursor for a statement
                               resource. Scrollable cursors enable result set rows to be accessed in
                               non-sequential order, but are only supported by IBM DB2 Universal
                               Database databases.
  <info>        </info>  <strong>$binmode         </strong>  Passing <return>DB2_BINARY</return> specifies that binary data will be returned as is.
                               This is the default mode. This is the equivalent of setting
                               <return>ibm_db2.binmode=1</return> in php.ini.
                               
                               Passing <return>DB2_CONVERT</return> specifies that binary data will be converted to
                               hexadecimal encoding, and will be returned as such. This is the
                               equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.
                               
                               Passing <return>DB2_PASSTHRU</return> specifies that binary data will be converted to
                               <info>null</info>. This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
  <info>        </info>  <strong>$db2_attr_case   </strong>  Passing <return>DB2_CASE_LOWER</return> specifies that column names of the result set
                               are returned in lower case.
                               
                               Passing <return>DB2_CASE_UPPER</return> specifies that column names of the result set
                               are returned in upper case.
                               
                               Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the result
                               set are returned in natural case.
  <info>        </info>  <strong>$deferred_prepare</strong>  Passing <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the
                               specified statement resource.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred  prepare off for the
                               specified statement resource.
  <info>        </info>  <strong>$i5_fetch_only   </strong>  <return>DB2_I5_FETCH_ON</return> - Cursors are read-only  and cannot be used for
                               positioned updates or deletes. This  is the default unless
                               <return>SQL_ATTR_FOR_FETCH_ONLY</return>  environment has been set to <return>SQL_FALSE</return>.
                               
                               <return>DB2_I5_FETCH_OFF</return> - Cursors can be used  for positioned updates and
                               deletes.
  <info>        </info>  <strong>$rowcount        </strong>  <return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the full row count
                               prior to fetching, which means that  <strong>db2_num_rows()</strong> returns the
                               number of rows selected  even when a <return>ROLLFORWARD_ONLY</return> cursor is used.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the full row count
                               prior to fetching.
  <info>        </info>  <strong>$trusted_user    </strong>  To switch the user to a trusted user, pass the User ID (String)  of
                               the trusted user as the value of this key. This option can  be set on
                               a connection resource only. To use this option, trusted context must
                               be enabled on the connection resource.
  <info>        </info>  <strong>$trusted_password</strong>  The password (String) that corresponds to the user specified by the
                               trusted_user key.
  <info>        </info>  <strong>$userid          </strong>  <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character
                               string used to identify the client user ID sent to the host  database
                               server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                               support up to a length of 16 characters.  This user-id is not to be
                               confused with the authentication user-id, it is for  identification
                               purposes only and is not used for any authorization.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 16
                               characters.  This user-id is not to be confused with the
                               authentication user-id, it is for  identification purposes only and
                               is not used for any authorization.
  <info>        </info>  <strong>$acctstr         </strong>  <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                               string used to identify the client accounting string sent to the
                               host database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 200 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 200
                               characters.
  <info>        </info>  <strong>$applname        </strong>  <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client application name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 32 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 32
                               characters.
  <info>        </info>  <strong>$wrkstnname      </strong>  <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client workstation name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 18 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 18
                               characters.
  <info>int     </info>  <strong>$type            </strong>  An integer value that specifies the type of resource that was passed
                               into the function. The type of resource and this value must
                               correspond.
                               
                               Passing <return>1</return> as the value specifies that a connection resource has been
                               passed into the function.
                               
                               Passing any integer not equal to <return>1</return> as the value specifies that a
                               statement resource has been passed into the function.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pconnect()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_cursor_type()</strong>


id: db2_special_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the unique row identifier columns for a table
    
  
  Returns a result set listing the unique row identifier columns for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the tables.
  <info>string  </info>  <strong>$table_name</strong>  The name of the table.
  <info>int     </info>  <strong>$scope     </strong>  Integer value representing the minimum duration for which the unique row
                         identifier is valid. This can be one of the following values: Integer
                         valueSQL constantDescription0SQL_SCOPE_CURROWRow identifier is valid only
                         while the cursor is positioned on the row.1SQL_SCOPE_TRANSACTIONRow
                         identifier is valid for the duration of the
                         transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the duration of
                         the connection.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows with unique row
            identifier information for a table. The rows are composed of the following columns:
            Column nameDescriptionSCOPEInteger valueSQL constantDescription0SQL_SCOPE_CURROWRow
            identifier is valid only while the cursor is positioned on the
            row.1SQL_SCOPE_TRANSACTIONRow identifier is valid for the duration of the
            transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the duration of the
            connection.COLUMN_NAMEName of the unique column.DATA_TYPESQL data type for the
            column.TYPE_NAMECharacter string representation of the SQL data type for the
            column.COLUMN_SIZEAn integer value representing the size of the column.BUFFER_LENGTH
            Maximum number of bytes necessary to store data from this column. DECIMAL_DIGITS The
            scale of the column, or <info>null</info> where scale is not applicable. NUM_PREC_RADIX An integer
            value of either <return>10</return> (representing an exact numeric data type), <return>2</return> (representing an
            approximate numeric data type), or <info>null</info> (representing a data type for which radix is not
            applicable). PSEUDO_COLUMNAlways returns 1.
            
            Integer valueSQL constantDescription0SQL_SCOPE_CURROWRow identifier is valid only while
            the cursor is positioned on the row.1SQL_SCOPE_TRANSACTIONRow identifier is valid for
            the duration of the transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the
            duration of the connection.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_statistics
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the index and statistics for a table
    
  
  Returns a result set listing the index and statistics for a table.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema that contains the targeted table. If this parameter is <info>null</info>, the
                         statistics and indexes are returned for the schema of the current user.
  <info>        </info>  <strong>$table_name</strong>  The name of the table.
  <info>bool    </info>  <strong>$unique    </strong>  An integer value representing the type of index information to return. <strong>$0</strong>
                         Return only the information for unique indexes on the table. <strong>$1</strong> Return the
                         information for all indexes on the table.
                         
                         Return only the information for unique indexes on the table.
                         
                         Return the information for all indexes on the table.
  <info>        </info>  <strong>$0         </strong>  Return only the information for unique indexes on the table.
  <info>        </info>  <strong>$1         </strong>  Return the information for all indexes on the table.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the statistics
            and indexes for the base tables matching the specified parameters. The rows are composed
            of the following columns: Column nameDescriptionTABLE_CATThe catalog that contains the
            table. The value is <info>null</info> if this table does not have catalogs.TABLE_SCHEMName of the
            schema that contains the table.TABLE_NAMEName of the table.NON_UNIQUE An integer value
            representing whether the index prohibits unique values, or whether the row represents
            statistics on the table itself: Return valueParameter type0 (SQL_FALSE)The index allows
            duplicate values.1 (SQL_TRUE)The index values must be unique.<info>null</info>This row is statistics
            information for the table itself. INDEX_QUALIFIERA string value representing the
            qualifier that would have to be prepended to INDEX_NAME to fully qualify the
            index.INDEX_NAMEA string representing the name of the index.TYPE An integer value
            representing the type of information contained in this row of the result set: Return
            valueParameter type0 (SQL_TABLE_STAT)The row contains statistics about the table
            itself.1 (SQL_INDEX_CLUSTERED)The row contains information about a clustered index.2
            (SQL_INDEX_HASH)The row contains information about a hashed index.3 (SQL_INDEX_OTHER)The
            row contains information about a type of index that is neither clustered nor hashed.
            ORDINAL_POSITIONThe 1-indexed position of the column in the index. <info>null</info> if the row
            contains statistics information about the table itself.COLUMN_NAMEThe name of the column
            in the index. <info>null</info> if the row contains statistics information about the table
            itself.ASC_OR_DESC<return>A</return> if the column is sorted in ascending order, <return>D</return> if the column is
            sorted in descending order, <info>null</info> if the row contains statistics information about the
            table itself. CARDINALITY If the row contains information about an index, this column
            contains an integer value representing the number of unique values in the index.  If the
            row contains information about the table itself, this column contains an integer value
            representing the number of rows in the table. PAGES If the row contains information
            about an index, this column contains an integer value representing the number of pages
            used to store the index.  If the row contains information about the table itself, this
            column contains an integer value representing the number of pages used to store the
            table. FILTER_CONDITIONAlways returns <info>null</info>.
            
            An integer value representing whether the index prohibits unique values, or whether the
            row represents statistics on the table itself: Return valueParameter type0
            (SQL_FALSE)The index allows duplicate values.1 (SQL_TRUE)The index values must be
            unique.<info>null</info>This row is statistics information for the table itself.
            
            An integer value representing the type of information contained in this row of the
            result set: Return valueParameter type0 (SQL_TABLE_STAT)The row contains statistics
            about the table itself.1 (SQL_INDEX_CLUSTERED)The row contains information about a
            clustered index.2 (SQL_INDEX_HASH)The row contains information about a hashed index.3
            (SQL_INDEX_OTHER)The row contains information about a type of index that is neither
            clustered nor hashed.
            
            If the row contains information about an index, this column contains an integer value
            representing the number of unique values in the index.
            
            If the row contains information about the table itself, this column contains an integer
            value representing the number of rows in the table.
            
            If the row contains information about an index, this column contains an integer value
            representing the number of pages used to store the index.
            
            If the row contains information about the table itself, this column contains an integer
            value representing the number of pages used to store the table.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_stmt_error
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the SQLSTATE returned by an SQL statement
    
  
  Returns a string containing the SQLSTATE value returned by an SQL statement.
  
  If you do not pass a statement resource as an argument to <strong>db2_stmt_error()</strong>, the driver returns the
  SQLSTATE value associated with the last attempt to return a statement resource, for example, from
  <strong>db2_prepare()</strong> or <strong>db2_exec()</strong>.
  
  To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line
  Processor prompt: db2 '? <strong>$sqlstate-value</strong>'. You can also call <strong>db2_stmt_errormsg()</strong> to retrieve an
  explicit error message and the associated SQLCODE value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing an SQLSTATE value.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_stmt_errormsg
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the last SQL statement error message
    
  
  Returns a string containing the last SQL statement error message.
  
  If you do not pass a statement resource as an argument to <strong>db2_stmt_errormsg()</strong>, the driver returns
  the error message associated with the last attempt to return a statement resource, for example,
  from <strong>db2_prepare()</strong> or <strong>db2_exec()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message and SQLCODE value for the last error that
          occurred issuing an SQL statement.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_stmt_error()</strong>


id: db2_table_privileges
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the tables and associated privileges in a database
    
  
  Returns a result set listing the tables and associated privileges in a database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the tables. This parameter accepts a search
                         pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$table_name</strong>  The name of the table. This parameter accepts a search pattern containing <return>_</return>
                         and <return>%</return> as wildcards.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the privileges
            for the tables that match the specified parameters. The rows are composed of the
            following columns: Column nameDescriptionTABLE_CATThe catalog that contains the table.
            The value is <info>null</info> if this table does not have catalogs.TABLE_SCHEMName of the schema
            that contains the table.TABLE_NAMEName of the table.GRANTORAuthorization ID of the user
            who granted the privilege.GRANTEEAuthorization ID of the user to whom the privilege was
            granted.PRIVILEGE The privilege that has been granted. This can be one of ALTER,
            CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE. IS_GRANTABLE A string
            value of "YES" or "NO" indicating whether the grantee can grant the privilege to other
            users.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_tables()</strong>


id: db2_tables
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the tables and associated metadata in a database
    
  
  Returns a result set listing the tables and associated metadata in a database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string  </info>  <strong>$qualifier </strong>  A qualifier for DB2 databases running on OS/390 or z/OS servers. For other
                         databases, pass <info>null</info> or an empty string.
  <info>string  </info>  <strong>$schema    </strong>  The schema which contains the tables. This parameter accepts a search
                         pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$table-name</strong>  The name of the table.  This parameter accepts a search pattern containing
                         <return>_</return> and <return>%</return> as wildcards.
  <info>string  </info>  <strong>$table-type</strong>  A list of comma-delimited table type identifiers. To match all table types,
                         pass <info>null</info> or an empty string. Valid table type identifiers include: ALIAS,
                         HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE,
                         SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the tables
            that match the specified parameters. The rows are composed of the following columns:
            Column nameDescriptionTABLE_CATThe catalog that contains the table. The value is <info>null</info> if
            this table does not have catalogs.TABLE_SCHEMName of the schema that contains the
            table.TABLE_NAMEName of the table.TABLE_TYPETable type identifier for the
            table.REMARKSDescription of the table.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>


id: dba_close
type: function
doc:
<comment>Description:</comment>
  Close a DBA database
  
  <strong>dba_close()</strong> closes the established database and frees all resources of the specified database
  handle.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>dba_open()</strong>
   * <strong>dba_popen()</strong>


id: dba_delete
type: function
doc:
<comment>Description:</comment>
  Delete DBA entry specified by key
  
  <strong>dba_delete()</strong> deletes the specified entry from the database.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$key</strong>  The key of the entry which is deleted.
  <info>resource   </info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>


id: dba_exists
type: function
doc:
<comment>Description:</comment>
  Check whether key exists
  
  <strong>dba_exists()</strong> checks whether the specified <strong>$key</strong> exists in the database.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$key</strong>  The key the check is performed for.
  <info>resource   </info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the key exists, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>


id: dba_fetch
type: function
doc:
<comment>Description:</comment>
  Fetch data specified by key
  
  <strong>dba_fetch()</strong> fetches the data specified by <strong>$key</strong> from the database specified with <strong>$handle</strong>.

<comment>Param:</comment>
  <info>string  </info>  <strong>$key   </strong>  The key the data is specified by.
                     
                     When working with inifiles this function accepts arrays as keys where index 0
                     is the group and index 1 is the value name. See: <strong>dba_key_split()</strong>.
  <info>int     </info>  <strong>$skip  </strong>  The number of key-value pairs to ignore when using cdb databases.  This value
                     is ignored for all other databases which do not support multiple keys with the
                     same name.
  <info>resource</info>  <strong>$handle</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the associated string if the key/data pair is found, <info>false</info>  otherwise.

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>
   * <strong>dba_key_split()</strong>


id: dba_firstkey
type: function
doc:
<comment>Description:</comment>
  Fetch first key
  
  <strong>dba_firstkey()</strong> returns the first key of the database and resets the internal key pointer. This
  permits a linear search through the whole database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the key on success o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_nextkey()</strong>
   * <strong>dba_key_split()</strong>
   * Example 2 in the DBA examples


id: dba_handlers
type: function
doc:
<comment>Description:</comment>
  List all the handlers available
  
  <strong>dba_handlers()</strong> list all the handlers supported by this extension.

<comment>Param:</comment>
  <info>bool</info>  <strong>$full_info</strong>  Turns on/off full information display in the result.

<comment>Return:</comment>
  <info>array</info>  Returns an array of database handlers. If <strong>$full_info</strong> is set to <info>true</info>, the array will be
         associative with the handlers names as keys, and their version information as value.
         Otherwise, the result will be an indexed array of handlers names.
         
         When the internal cdb library is used you will see  <return>cdb</return> and <return>cdb_make</return>.


id: dba_insert
type: function
doc:
<comment>Description:</comment>
  Insert entry
  
  <strong>dba_insert()</strong> inserts the entry described with <strong>$key</strong> and <strong>$value</strong> into the database.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$key  </strong>  The key of the entry to be inserted. If this key already exist in the
                       database, this function will fail. Use <strong>dba_replace()</strong> if you need to replace
                       an existent key.
  <info>string     </info>  <strong>$value</strong>  The value to be inserted.
  <info>resource   </info>  <strong>$dba  </strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_replace()</strong>


id: dba_key_split
type: function
doc:
<comment>Description:</comment>
  Splits a key in string representation into array representation
    
  
  <strong>dba_key_split()</strong> splits a key (string representation) into an array representation.

<comment>Param:</comment>
  <info>stringfalsenull</info>  <strong>$key</strong>  The key in string representation.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array of the form <return>array(0 =&gt; group, 1 =&gt;  value_name)</return>. This function
              will return <info>false</info> if  <strong>$key</strong> is <info>null</info> or <info>false</info>.

<comment>See Also:</comment>
   * <strong>dba_firstkey()</strong>
   * <strong>dba_nextkey()</strong>
   * <strong>dba_fetch()</strong>


id: dba_list
type: function
doc:
<comment>Description:</comment>
  List all open database files
  
  <strong>dba_list()</strong> list all open database files.

<comment>Return:</comment>
  <info>array</info>  An associative array, in the form <return>resourceid =&gt; filename</return>.


id: dba_nextkey
type: function
doc:
<comment>Description:</comment>
  Fetch next key
  
  <strong>dba_nextkey()</strong> returns the next key of the database and advances the internal key pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the key on success o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_firstkey()</strong>
   * <strong>dba_key_split()</strong>
   * Example 2 in the DBA examples


id: dba_open
type: function
doc:
<comment>Description:</comment>
  Open database
  
  <strong>dba_open()</strong> establishes a database instance for <strong>$path</strong> with <strong>$mode</strong> using <strong>$handler</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$path   </strong>  Commonly a regular path in your filesystem.
  <info>string</info>  <strong>$mode   </strong>  It is <return>r</return> for read access, <return>w</return> for read/write access to an already existing
                    database, <return>c</return> for read/write access and database creation if it doesn't currently
                    exist, and <return>n</return> for create, truncate and read/write access. The database is created
                    in BTree mode, other modes (like Hash or Queue) are not supported.
                    
                    Additionally you can set the database lock method with the next char.  Use <return>l</return> to
                    lock the database with a .lck file or <return>d</return> to lock the databasefile itself. It is
                    important that all of your applications do this consistently.
                    
                    If you want to test the access and do not want to wait for the lock  you can add
                    <return>t</return> as third character. When you are  absolutely sure that you do not require
                    database locking you can do  so by using <return>-</return> instead of <return>l</return> or <return>d</return>. When none of <return>d</return>,  <return>l</return>
                    or <return>-</return> is used, dba will lock on the database file as it would with <return>d</return>.
                    
                    There can only be one writer for one database file. When you use dba on  a web
                    server and more than one request requires write operations they can only be done
                    one after another. Also read during write is not allowed. The dba extension uses
                    locks to prevent this. See the following table: DBA lockingalready open<strong>$mode</strong> =
                    "rl"<strong>$mode</strong> = "rlt"<strong>$mode</strong> = "wl"<strong>$mode</strong> = "wlt"<strong>$mode</strong> = "rd"<strong>$mode</strong> = "rdt"<strong>$mode</strong> =
                    "wd"<strong>$mode</strong> = "wdt"not openokokokokokokokok<strong>$mode</strong> =
                    "rl"okokwaitfalseillegalillegalillegalillegal<strong>$mode</strong> =
                    "wl"waitfalsewaitfalseillegalillegalillegalillegal<strong>$mode</strong> =
                    "rd"illegalillegalillegalillegalokokwaitfalse<strong>$mode</strong> =
                    "wd"illegalillegalillegalillegalwaitfalsewaitfalse ok: the second call will be
                    successfull.wait: the second call waits until <strong>dba_close()</strong> is called for the
                    first.false: the second call returns false.illegal: you must not mix <return>"l"</return> and <return>"d"</return>
                    modifiers for <strong>$mode</strong> parameter.
  <info>string</info>  <strong>$handler</strong>  The name of the handler which shall be used for accessing <strong>$path</strong>. It is passed
                    all optional parameters given to <strong>dba_open()</strong> and  can act on behalf of them.
  <info>string</info>  <strong>$args   </strong>  Optional <info>string</info> parameters which are passed to the driver.
                    
                    The <return>cdb</return>, <return>cdb_make</return>, <return>flatfile</return>, <return>inifile</return>, <return>qdbm</return> and <return>tcadb</return> drivers do not support
                    additional parameters.
                    
                    The <return>db1</return>, <return>db2</return>, <return>db3</return>, <return>db4</return>, <return>dbm</return>, <return>gdbm</return>, and <return>ndbm</return> drivers supports a single additional
                    parameter <return>$filemode</return>, which has the same meaning as the <return>$mode</return> parameter of
                    <strong>chmod()</strong>, and defaults to <return>0644</return>.
                    
                    The <return>lmdb</return> driver accepts two additional parameters. The first allows to specify
                    the <return>$filemode</return> (see description above), and the second to specify the <return>$mapsize</return>,
                    where the value should be a multiple of the page size of the OS, or zero, to use
                    the default mapsize. The <return>$mapsize</return> parameter is supported as of PHP 7.3.14 and
                    7.4.2, respectively.

<comment>Return:</comment>
  <info>resourcefalse</info>  Returns a positive handle on success o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_popen()</strong>
   * <strong>dba_close()</strong>


id: dba_optimize
type: function
doc:
<comment>Description:</comment>
  Optimize database
  
  <strong>dba_optimize()</strong> optimizes the underlying database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_sync()</strong>


id: dba_popen
type: function
doc:
<comment>Description:</comment>
  Open database persistently
  
  <strong>dba_popen()</strong> establishes a persistent database instance for <strong>$path</strong> with <strong>$mode</strong> using <strong>$handler</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$path   </strong>  Commonly a regular path in your filesystem.
  <info>string</info>  <strong>$mode   </strong>  It is <return>r</return> for read access, <return>w</return> for read/write access to an already existing
                    database, <return>c</return> for read/write access and database creation if it doesn't currently
                    exist, and <return>n</return> for create, truncate and read/write access.
  <info>string</info>  <strong>$handler</strong>  The name of the handler which shall be used for accessing <strong>$path</strong>. It is passed
                    all optional parameters given to <strong>dba_popen()</strong> and  can act on behalf of them.
  <info>mixed </info>  <strong>$args   </strong>  Optional <info>string</info> parameters which are passed to the driver.
                    
                    The <return>cdb</return>, <return>cdb_make</return>, <return>flatfile</return>, <return>inifile</return>, <return>qdbm</return> and <return>tcadb</return> drivers do not support
                    additional parameters.
                    
                    The <return>db1</return>, <return>db2</return>, <return>db3</return>, <return>db4</return>, <return>dbm</return>, <return>gdbm</return>, and <return>ndbm</return> drivers supports a single additional
                    parameter <return>$filemode</return>, which has the same meaning as the <return>$mode</return> parameter of
                    <strong>chmod()</strong>, and defaults to <return>0644</return>.
                    
                    The <return>lmdb</return> driver accepts two additional parameters. The first allows to specify
                    the <return>$filemode</return> (see description above), and the second to specify the <return>$mapsize</return>,
                    where the value should be a multiple of the page size of the OS, or zero, to use
                    the default mapsize. The <return>$mapsize</return> parameter is supported as of PHP 7.3.14 and
                    7.4.2, respectively.

<comment>Return:</comment>
  <info>resourcefalse</info>  Returns a positive handle on success o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_open()</strong>
   * <strong>dba_close()</strong>


id: dba_replace
type: function
doc:
<comment>Description:</comment>
  Replace or insert entry
  
  <strong>dba_replace()</strong> replaces or inserts the entry described with <strong>$key</strong> and <strong>$value</strong> into the database
  specified by <strong>$dba</strong>.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$key  </strong>  The key of the entry to be replaced.
  <info>string     </info>  <strong>$value</strong>  The value to be replaced.
  <info>resource   </info>  <strong>$dba  </strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>


id: dba_sync
type: function
doc:
<comment>Description:</comment>
  Synchronize database
  
  <strong>dba_sync()</strong> synchronizes the database. This will probably  trigger a physical write to the disk, if
  supported.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dba_optimize()</strong>


id: dbase_open
type: function
doc:
<comment>Description:</comment>
  Apre un database
  
  <strong>dbase_open()</strong> apre un database dBase con la modalità di accesso data.
  
  open_basedir influisce su questa funzione.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  Il percorso del database. Può essere un percorso relativo o assoluto al file in cui
                 dBase memorizzerà i dati.
  <info>int   </info>  <strong>$mode</strong>  Un numero intero che corrisponde a quelli usati per la chiamata di sistema open()
                 (Tipicamente 0 significa sola lettura, 1 significa sola scrittura e 2 significa
                 lettura e scrittura).
                 
                 Non è possibile aprire un file dBase in modalità di sola scrittura poiché la
                 funzione non riuscirà a leggere le informazioni sulle intestazioni e quindi non è
                 possibile utilizzare 1 come valore di <strong>$mode</strong>.
                 
                 A partire da dbase 7.0.0 è possibile utilizzare <info>DBASE_RDONLY</info> e <info>DBASE_RDWR</info>,
                 rispettivamente, per specificare il valore di <strong>$mode</strong>.

<comment>Return:</comment>
  <info>resource</info>  Restituisce una risorsa di database in caso di successo,  o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dbase_create()</strong>
   * <strong>dbase_close()</strong>


id: dbplus_add
type: function
doc:
<comment>Description:</comment>
  Add a tuple to a relation
  
  Adds a tuple to a <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  
  <info>array   </info>  <strong>$tuple   </strong>  An array of attribute/value pairs to be inserted into the given <strong>$relation</strong>.
                       
                       After successful execution this array will contain the complete data of the
                       newly created tuple, including all implicitly set domain fields like
                       sequences.

<comment>Return:</comment>
  <info>int</info>  The function will return <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_errcode()</strong>


id: dbplus_aql
type: function
doc:
<comment>Description:</comment>
  Perform AQL query
  
  Executes an AQL <strong>$query</strong> on the given <strong>$server</strong> and <strong>$dbpath</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$query </strong>  The AQL query to be executed. Further information on the AQL (Algebraic Query
                   Language) is provided in the original db++ manual.
  <info>string</info>  <strong>$server</strong>  
  <info>string</info>  <strong>$dbpath</strong>  

<comment>Return:</comment>
  <info>resource</info>  Returns a relation handle on success. The result data may be fetched from this relation
            by calling <strong>dbplus_next()</strong> and <strong>dbplus_curr()</strong>. Other relation access functions will not
            work on a result relation.


id: dbplus_chdir
type: function
doc:
<comment>Description:</comment>
  Get/Set database virtual current directory
  
  Changes the virtual current directory where relation files will be looked for by <strong>dbplus_open()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$newdir</strong>  The new directory for relation files. You can omit this parameter to query the
                   current working directory.

<comment>Return:</comment>
  <info>string</info>  Returns the absolute path of the current directory.


id: dbplus_close
type: function
doc:
<comment>Description:</comment>
  Close a relation
  
  Closes a relation previously opened by <strong>dbplus_open()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> on success or <info>DBPLUS_ERR_UNKNOWN</info> on failure.


id: dbplus_curr
type: function
doc:
<comment>Description:</comment>
  Get current tuple from relation
  
  Reads the data for the current tuple for the given <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  The data will be passed back in this parameter, as an associative array.

<comment>Return:</comment>
  <info>int</info>  The function will return zero (aka. <info>DBPLUS_ERR_NOERR</info>) on success or a db++ error code on
       failure.

<comment>See Also:</comment>
   * <strong>dbplus_first()</strong>
   * <strong>dbplus_prev()</strong>
   * <strong>dbplus_next()</strong>
   * <strong>dbplus_last()</strong>
   * <strong>dbplus_errcode()</strong>


id: dbplus_errcode
type: function
doc:
<comment>Description:</comment>
  Get error string for given errorcode or last error
  
  Returns a clear error string for the given error code.

<comment>Param:</comment>
  <info>int</info>  <strong>$errno</strong>  The error code. If not provided, the result code of the last db++ operation is
               assumed.

<comment>Return:</comment>
  <info>string</info>  Returns the error message.


id: dbplus_errno
type: function
doc:
<comment>Description:</comment>
  Get error code for last operation
  
  Returns the error code returned by the last db++ operation.

<comment>Return:</comment>
  <info>int</info>  Returns the error code, as an integer.

<comment>See Also:</comment>
   * <strong>dbplus_errcode()</strong>


id: dbplus_find
type: function
doc:
<comment>Description:</comment>
  Set a constraint on a relation
  
  Places a constraint on the given <strong>$relation</strong>.
  
  Further calls to functions like <strong>dbplus_curr()</strong> or <strong>dbplus_next()</strong> will only return tuples matching
  the given constraints.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation   </strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$constraints</strong>  Constraints are triplets of strings containing of a domain name, a
                          comparison operator and a comparison value. The <strong>$constraints</strong> parameter
                          array may consist of a collection of string arrays, each of which contains
                          a domain, an operator and a value, or of a single string array containing
                          a multiple of three elements.
                          
                          The comparison operator may be one of the following strings: '==', '&gt;',
                          '&gt;=', '\<', '\<=', '!=', '~' for a regular expression match and 'BAND' or 'BOR' for bitwise operations.
  <info>mixed   </info>  <strong>$tuple      </strong>  

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>dbplus_unselect()</strong>


id: dbplus_first
type: function
doc:
<comment>Description:</comment>
  Get first tuple from relation
  
  Reads the data for the first tuple for the given <strong>$relation</strong>, makes it the current tuple and pass it
  back as an associative array in <strong>$tuple</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_curr()</strong>
   * <strong>dbplus_prev()</strong>
   * <strong>dbplus_next()</strong>
   * <strong>dbplus_last()</strong>
   * <strong>dbplus_errcode()</strong>


id: dbplus_flush
type: function
doc:
<comment>Description:</comment>
  Flush all changes made on a relation
  
  Writes all changes applied to <strong>$relation</strong> since the last flush to disk.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_errcode()</strong>


id: dbplus_freealllocks
type: function
doc:
<comment>Description:</comment>
  Free all locks held by this client
  
  Frees all tuple locks held by this client.

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>dbplus_getlock()</strong>
   * <strong>dbplus_freelock()</strong>
   * <strong>dbplus_freerlocks()</strong>


id: dbplus_freelock
type: function
doc:
<comment>Description:</comment>
  Release write lock on tuple
  
  Releases a write lock on the given <strong>$tuple</strong> previously obtained by <strong>dbplus_getlock()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>string  </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>dbplus_getlock()</strong>
   * <strong>dbplus_freerlocks()</strong>
   * <strong>dbplus_freealllocks()</strong>


id: dbplus_freerlocks
type: function
doc:
<comment>Description:</comment>
  Free all tuple locks on given relation
  
  Frees all tuple locks held on the given <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>dbplus_getlock()</strong>
   * <strong>dbplus_freelock()</strong>
   * <strong>dbplus_freealllocks()</strong>


id: dbplus_getlock
type: function
doc:
<comment>Description:</comment>
  Get a write lock on a tuple
  
  Requests a write lock on the specified <strong>$tuple</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>string  </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  Returns zero on success or a non-zero error code, especially  <info>DBPLUS_ERR_WLOCKED</info> on failure.

<comment>See Also:</comment>
   * <strong>dbplus_freelock()</strong>
   * <strong>dbplus_freerlocks()</strong>
   * <strong>dbplus_freealllocks()</strong>


id: dbplus_getunique
type: function
doc:
<comment>Description:</comment>
  Get an id number unique to a relation
  
  Obtains a number guaranteed to be unique for the given <strong>$relation</strong> and will pass it back in the
  variable given as <strong>$uniqueid</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>int     </info>  <strong>$uniqueid</strong>  

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.


id: dbplus_info
type: function
doc:
<comment>Description:</comment>
  Get information about a relation
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>string  </info>  <strong>$key     </strong>  
  <info>array   </info>  <strong>$result  </strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_last
type: function
doc:
<comment>Description:</comment>
  Get last tuple from relation
  
  Reads the data for the last tuple for the given <strong>$relation</strong>, makes it the current tuple and pass it
  back as an associative array in <strong>$tuple</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_first()</strong>
   * <strong>dbplus_curr()</strong>
   * <strong>dbplus_prev()</strong>
   * <strong>dbplus_next()</strong>


id: dbplus_lockrel
type: function
doc:
<comment>Description:</comment>
  Request write lock on relation
  
  Requests a write lock on the given <strong>$relation</strong>.
  
  Other clients may still query the relation, but can't alter it while it is locked.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_next
type: function
doc:
<comment>Description:</comment>
  Get next tuple from relation
  
  Reads the data for the next tuple for the given <strong>$relation</strong>, makes it the current tuple and will
  pass it back as an associative array in <strong>$tuple</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_first()</strong>
   * <strong>dbplus_curr()</strong>
   * <strong>dbplus_prev()</strong>
   * <strong>dbplus_last()</strong>


id: dbplus_open
type: function
doc:
<comment>Description:</comment>
  Open relation file
  
  Opens the given relation file.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Can be either a file name or a relative or absolute path name. This will be mapped
                 in any case to an absolute relation file path on a specific host machine and
                 server.

<comment>Return:</comment>
  <info>resource</info>  On success a relation file resource (cursor) is returned which must be used in any
            subsequent commands referencing the relation. Failure leads to a zero return value, the
            actual error code may be asked for by calling <strong>dbplus_errno()</strong>.


id: dbplus_prev
type: function
doc:
<comment>Description:</comment>
  Get previous tuple from relation
  
  Reads the data for the previous tuple for the given <strong>$relation</strong>, makes it the current tuple and will
  pass it back as an associative array in <strong>$tuple</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  Returns <info>DBPLUS_ERR_NOERR</info> on success or a db++ error code on failure.

<comment>See Also:</comment>
   * <strong>dbplus_first()</strong>
   * <strong>dbplus_curr()</strong>
   * <strong>dbplus_next()</strong>
   * <strong>dbplus_last()</strong>


id: dbplus_rchperm
type: function
doc:
<comment>Description:</comment>
  Change relation permissions
  
  Changes access permissions as specified by <strong>$mask</strong>, <strong>$user</strong> and <strong>$group</strong>. The values for these are
  operating system specific.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>int     </info>  <strong>$mask    </strong>  
  <info>string  </info>  <strong>$user    </strong>  
  <info>string  </info>  <strong>$group   </strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_rcreate
type: function
doc:
<comment>Description:</comment>
  Creates a new DB++ relation
  
  Creates a new relation. Any existing relation sharing the same <strong>$name</strong> will be overwritten if the
  relation is currently not in use and <strong>$overwrite</strong> is set to TRUE.

<comment>Param:</comment>
  <info>string</info>  <strong>$name     </strong>  
  <info>mixed </info>  <strong>$domlist  </strong>  A combination of domains. May be passed as a single domain name string or as
                      an array of domain names.
                      
                      This parameter should contain the domain specification for the new relation
                      within an array of domain description strings. A domain description string
                      consists of a domain name unique to this relation, a slash and a type
                      specification character. See the db++ documentation, especially the
                      dbcreate(1) manpage, for a description of available type specifiers and their
                      meanings.
                      
                      This function will also accept a string with space delimited domain
                      description strings, but it is recommended to use an array
  <info>bool  </info>  <strong>$overwrite</strong>  

<comment>Return:</comment>
  <info>resource</info>  


id: dbplus_rcrtexact
type: function
doc:
<comment>Description:</comment>
  Creates an exact but empty copy of a relation including indices
  
  <strong>dbplus_rcrtexact()</strong> will create an exact but empty copy of the given <strong>$relation</strong> under a new <strong>$name</strong>.

<comment>Param:</comment>
  <info>string  </info>  <strong>$name     </strong>  
  <info>resource</info>  <strong>$relation </strong>  The copied relation, opened by <strong>dbplus_open()</strong>.
  <info>bool    </info>  <strong>$overwrite</strong>  An existing relation by the same <strong>$name</strong> will only be overwritten if this
                        parameter is set to <info>true</info> and no other process is currently using the
                        relation.

<comment>Return:</comment>
  <info>mixed</info>  Returns resource on success or <info>DBPLUS_ERR_UNKNOWN</info> on failure.


id: dbplus_rcrtlike
type: function
doc:
<comment>Description:</comment>
  Creates an empty copy of a relation with default indices
  
  <strong>dbplus_rcrtexact()</strong> will create an  empty copy of the given <strong>$relation</strong> under a new <strong>$name</strong>, but with
  default indices.

<comment>Param:</comment>
  <info>string  </info>  <strong>$name     </strong>  
  <info>resource</info>  <strong>$relation </strong>  The copied relation, opened by <strong>dbplus_open()</strong>.
  <info>int     </info>  <strong>$overwrite</strong>  An existing relation by the same <strong>$name</strong> will only be overwritten if this
                        parameter is set to <info>true</info> and no other process is currently using the
                        relation.

<comment>Return:</comment>
  <info>mixed</info>  Returns resource on success or <info>DBPLUS_ERR_UNKNOWN</info> on failure.


id: dbplus_resolve
type: function
doc:
<comment>Description:</comment>
  Resolve host information for relation
  
  <strong>dbplus_resolve()</strong> will try to resolve the given <strong>$relation_name</strong> and find out internal server id,
  real hostname and the database path on this host.

<comment>Param:</comment>
  <info>string</info>  <strong>$relation_name</strong>  The relation name.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing these values under the keys <return>sid</return>, <return>host</return> and <return>host_path</return> or <info>false</info> on
         error.

<comment>See Also:</comment>
   * <strong>dbplus_tcl()</strong>


id: dbplus_restorepos
type: function
doc:
<comment>Description:</comment>
  Restore position
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_rkeys
type: function
doc:
<comment>Description:</comment>
  Specify new primary key for a relation
  
  <strong>dbplus_rkeys()</strong> will replace the current primary key for <strong>$relation</strong> with the combination of domains
  specified by <strong>$domlist</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>mixed   </info>  <strong>$domlist </strong>  A combination of domains. May be passed as a single domain name string or as
                       an array of domain names.

<comment>Return:</comment>
  <info>mixed</info>  Returns resource on success or <info>DBPLUS_ERR_UNKNOWN</info> on failure.


id: dbplus_ropen
type: function
doc:
<comment>Description:</comment>
  Open relation file local
  
  <strong>dbplus_ropen()</strong> will open the relation <strong>$file</strong> locally for quick access without any client/server
  overhead. Access is read only and only <strong>dbplus_curr()</strong> and <strong>dbplus_next()</strong> may be applied to the
  returned relation.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  

<comment>Return:</comment>
  <info>resource</info>  


id: dbplus_rquery
type: function
doc:
<comment>Description:</comment>
  Perform local (raw) AQL query
  
  <strong>dbplus_rquery()</strong> performs a local (raw) AQL query using an AQL interpreter embedded into the db++
  client library. <strong>dbplus_rquery()</strong> is faster than <strong>dbplus_aql()</strong> but will work on local data only.

<comment>Param:</comment>
  <info>string</info>  <strong>$query </strong>  
  <info>string</info>  <strong>$dbpath</strong>  

<comment>Return:</comment>
  <info>resource</info>  


id: dbplus_rrename
type: function
doc:
<comment>Description:</comment>
  Rename a relation
  
  <strong>dbplus_rrename()</strong> will change the name of <strong>$relation</strong> to <strong>$name</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>string  </info>  <strong>$name    </strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_rsecindex
type: function
doc:
<comment>Description:</comment>
  Create a new secondary index for a relation
  
  <strong>dbplus_rsecindex()</strong> will create a new secondary index for <strong>$relation</strong> with consists of the domains
  specified by <strong>$domlist</strong> and is of type <strong>$type</strong>

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>mixed   </info>  <strong>$domlist </strong>  A combination of domains. May be passed as a single domain name string or as
                       an array of domain names.
  <info>int     </info>  <strong>$type    </strong>  

<comment>Return:</comment>
  <info>mixed</info>  Returns resource on success or <info>DBPLUS_ERR_UNKNOWN</info> on failure.


id: dbplus_runlink
type: function
doc:
<comment>Description:</comment>
  Remove relation from filesystem
  
  <strong>dbplus_runlink()</strong> will close and remove the <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_rzap
type: function
doc:
<comment>Description:</comment>
  Remove all tuples from relation
  
  <strong>dbplus_rzap()</strong> will remove all tuples from <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_savepos
type: function
doc:
<comment>Description:</comment>
  Save position
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_setindex
type: function
doc:
<comment>Description:</comment>
  Set index
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>string  </info>  <strong>$idx_name</strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_setindexbynumber
type: function
doc:
<comment>Description:</comment>
  Set index by number
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation  </strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>int     </info>  <strong>$idx_number</strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_sql
type: function
doc:
<comment>Description:</comment>
  Perform SQL query
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>string</info>  <strong>$query </strong>  
  <info>string</info>  <strong>$server</strong>  
  <info>string</info>  <strong>$dbpath</strong>  

<comment>Return:</comment>
  <info>resource</info>  


id: dbplus_tcl
type: function
doc:
<comment>Description:</comment>
  Execute TCL code on server side
  
  A db++ server will prepare a TCL interpreter for each client connection. This interpreter will
  enable the server to execute TCL code provided by the client as a sort of stored procedures to
  improve the performance of database operations by avoiding client/server data transfers and
  context switches.
  
  <strong>dbplus_tcl()</strong> needs to pass the client connection id the TCL <strong>$script</strong> code should be executed by.
  <strong>dbplus_resolve()</strong> will provide this connection id. The function will return whatever the TCL code
  returns or a TCL error message if the TCL code fails.

<comment>Param:</comment>
  <info>int   </info>  <strong>$sid   </strong>  
  <info>string</info>  <strong>$script</strong>  

<comment>Return:</comment>
  <info>string</info>  

<comment>See Also:</comment>
   * <strong>dbplus_resolve()</strong>


id: dbplus_tremove
type: function
doc:
<comment>Description:</comment>
  Remove tuple and return new current tuple
  
  <strong>dbplus_tremove()</strong> removes <strong>$tuple</strong> from <strong>$relation</strong> if it perfectly matches a tuple within the
  relation. <strong>$current</strong>, if given, will contain the data of the new current tuple after calling
  <strong>dbplus_tremove()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$tuple   </strong>  
  <info>array   </info>  <strong>$current </strong>  

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_undo
type: function
doc:
<comment>Description:</comment>
  Undo
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_undoprepare
type: function
doc:
<comment>Description:</comment>
  Prepare undo
  
  Questa funzione, al momento
  non è documentata; è disponibile soltanto la lista degli argomenti.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_unlockrel
type: function
doc:
<comment>Description:</comment>
  Give up write lock on relation
  
  Release a write lock previously obtained by <strong>dbplus_lockrel()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_unselect
type: function
doc:
<comment>Description:</comment>
  Remove a constraint from relation
  
  Calling <strong>dbplus_unselect()</strong> will remove a constraint previously set by <strong>dbplus_find()</strong> on <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_update
type: function
doc:
<comment>Description:</comment>
  Update specified tuple in relation
  
  <strong>dbplus_update()</strong> replaces the <strong>$old</strong> tuple with the data from the <strong>$new</strong> one, only if the <strong>$old</strong>
  completely matches a tuple within <strong>$relation</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.
  <info>array   </info>  <strong>$old     </strong>  The old tuple.
  <info>array   </info>  <strong>$new     </strong>  The new tuple.

<comment>Return:</comment>
  <info>int</info>  


id: dbplus_xlockrel
type: function
doc:
<comment>Description:</comment>
  Request exclusive lock on relation
  
  Request an exclusive lock on <strong>$relation</strong> preventing even read access from other clients.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  

<comment>See Also:</comment>
   * <strong>dbplus_xunlockrel()</strong>


id: dbplus_xunlockrel
type: function
doc:
<comment>Description:</comment>
  Free exclusive lock on relation
  
  Releases an exclusive lock previously obtained by <strong>dbplus_xlockrel()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$relation</strong>  A relation opened by <strong>dbplus_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  


id: dbx_close
type: function
doc:
<comment>Description:</comment>
  Close an open connection/database

<comment>Param:</comment>
  <info>object</info>  <strong>$link_identifier</strong>  The DBX link object to close.

<comment>Return:</comment>
  <info>int</info>  Returns 1 on success and 0 on errors.

<comment>See Also:</comment>
   * <strong>dbx_connect()</strong>


id: dbx_compare
type: function
doc:
<comment>Description:</comment>
  Compare two rows for sorting purposes
  
  <strong>dbx_compare()</strong> is a helper function for  <strong>dbx_sort()</strong> to ease the make and use of the custom  sorting
  function.

<comment>Param:</comment>
  <info>array </info>  <strong>$row_a     </strong>  First row
  <info>array </info>  <strong>$row_b     </strong>  Second row
  <info>string</info>  <strong>$column_key</strong>  The compared column
  <info>int   </info>  <strong>$flags     </strong>  The <strong>$flags</strong> can be set to specify comparison direction:  <info>DBX_CMP_ASC</info> -
                       ascending order <info>DBX_CMP_DESC</info> - descending order  and the preferred comparison
                       type: <info>DBX_CMP_NATIVE</info> - no type conversion <info>DBX_CMP_TEXT</info> - compare items as
                       strings <info>DBX_CMP_NUMBER</info> - compare items numerically  One of the direction and
                       one of the type constant can be combined with bitwise OR operator (|).
                       
                       <info>DBX_CMP_ASC</info> - ascending order
                       
                       <info>DBX_CMP_DESC</info> - descending order
                       
                       <info>DBX_CMP_NATIVE</info> - no type conversion
                       
                       <info>DBX_CMP_TEXT</info> - compare items as strings
                       
                       <info>DBX_CMP_NUMBER</info> - compare items numerically

<comment>Return:</comment>
  <info>int</info>  Returns <return>0</return> if the <return>row_a[$column_key]</return> is equal to <return>row_b[$column_key]</return>, and <return>1</return> or <return>-1</return> if the former
       is greater or is smaller than the  latter one, respectively, or vice versa if the <strong>$flag</strong>  is
       set to <info>DBX_CMP_DESC</info>.

<comment>See Also:</comment>
   * <strong>dbx_sort()</strong>


id: dbx_connect
type: function
doc:
<comment>Description:</comment>
  Open a connection/database
  
  Opens a connection to a database.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$module    </strong>  The <strong>$module</strong> parameter can be either a string or a constant, though the latter
                       form is preferred. The possible values are  given below, but keep in mind
                       that they only work if the module is  actually loaded.
                       
                       <info>DBX_MYSQL</info> or <return>"mysql"</return> <info>DBX_ODBC</info> or <return>"odbc"</return> <info>DBX_PGSQL</info> or <return>"pgsql"</return> <info>DBX_MSSQL</info> or
                       <return>"mssql"</return> <info>DBX_FBSQL</info> or <return>"fbsql"</return> <info>DBX_SYBASECT</info> or <return>"sybase_ct"</return> <info>DBX_OCI8</info> or <return>"oci8"</return>
                       <info>DBX_SQLITE</info> or <return>"sqlite"</return>
                       
                       <info>DBX_MYSQL</info> or <return>"mysql"</return>
                       
                       <info>DBX_ODBC</info> or <return>"odbc"</return>
                       
                       <info>DBX_PGSQL</info> or <return>"pgsql"</return>
                       
                       <info>DBX_MSSQL</info> or <return>"mssql"</return>
                       
                       <info>DBX_FBSQL</info> or <return>"fbsql"</return>
                       
                       <info>DBX_SYBASECT</info> or <return>"sybase_ct"</return>
                       
                       <info>DBX_OCI8</info> or <return>"oci8"</return>
                       
                       <info>DBX_SQLITE</info> or <return>"sqlite"</return>
  <info>string</info>  <strong>$host      </strong>  The SQL server host
  <info>string</info>  <strong>$database  </strong>  The database name
  <info>string</info>  <strong>$username  </strong>  The username
  <info>string</info>  <strong>$password  </strong>  The password
  <info>int   </info>  <strong>$persistent</strong>  The <strong>$persistent</strong> parameter can be set to  <info>DBX_PERSISTENT</info>, if so, a persistent
                       connection will be created.

<comment>Return:</comment>
  <info>object</info>  Returns an object on success, <info>false</info> on error. If a connection has been made but the
          database could not be selected, the connection is closed and <info>false</info> is returned.
          
          The returned object has three properties: database It is the name of the currently
          selected database.  handle It is a valid handle for the connected database, and as such it
          can be used in module-specific functions (if required). handle); // dbx_close($link) would
          be better here
          ?>
          ]]> module It is used internally by dbx only, and is actually the module number mentioned
          above.
          
          It is the name of the currently selected database.
          
          It is a valid handle for the connected database, and as such it can be used in
          module-specific functions (if required). handle); // dbx_close($link) would be better here
          ?>
          ]]>
          
          It is used internally by dbx only, and is actually the module number mentioned above.

<comment>See Also:</comment>
   * <strong>dbx_close()</strong>


id: dbx_error
type: function
doc:
<comment>Description:</comment>
  Report the error message of the latest function call in the module
    
  
  <strong>dbx_error()</strong> returns the last error message.

<comment>Param:</comment>
  <info>object</info>  <strong>$link_identifier</strong>  The DBX link object returned by <strong>dbx_connect()</strong>

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message from the last function call of the
          abstracted module (e.g. mysql module). If there are multiple  connections in the same
          module, just the last error is given. If there are connections on different modules, the
          latest error is returned for the  module specified by the <strong>$link_identifier</strong> parameter.


id: dbx_escape_string
type: function
doc:
<comment>Description:</comment>
  Escape a string so it can safely be used in an sql-statement
    
  
  Escape the given string so that it can safely be used in an sql-statement.

<comment>Param:</comment>
  <info>object</info>  <strong>$link_identifier</strong>  The DBX link object returned by <strong>dbx_connect()</strong>
  <info>string</info>  <strong>$text           </strong>  The string to escape.

<comment>Return:</comment>
  <info>string</info>  Returns the text, escaped where necessary (such as quotes, backslashes etc). On error,
          <info>null</info> is returned.

<comment>See Also:</comment>
   * <strong>dbx_query()</strong>


id: dbx_fetch_row
type: function
doc:
<comment>Description:</comment>
  Fetches rows from a query-result that had the 
    DBX_RESULT_UNBUFFERED flag set
  
  <strong>dbx_fetch_row()</strong> fetches rows from a result identifier that had the <info>DBX_RESULT_UNBUFFERED</info> flag set.
  
  When the <info>DBX_RESULT_UNBUFFERED</info> is not set in the  query, <strong>dbx_fetch_row()</strong> will fail as all rows
  have  already been fetched into the results data property.
  
  As a side effect, the rows property of the query-result object is incremented for each successful
  call to  <strong>dbx_fetch_row()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$result_identifier</strong>  A result set returned by <strong>dbx_query()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns an object on success that contains the same information as any row would have in
         the <strong>dbx_query()</strong> result  data property, including columns accessible by index  or fieldname
         when the flags for <strong>dbx_query()</strong> were set that way.
         
         Upon failure, returns <return>0</return> (e.g. when no more rows are available).

<comment>See Also:</comment>
   * <strong>dbx_query()</strong>


id: dbx_query
type: function
doc:
<comment>Description:</comment>
  Send a query and fetch all results (if any)
  
  Sends a query and fetch all results.

<comment>Param:</comment>
  <info>object</info>  <strong>$link_identifier</strong>  The DBX link object returned by <strong>dbx_connect()</strong>
  <info>string</info>  <strong>$sql_statement  </strong>  SQL statement.
                            
                            Data inside the query should be properly escaped.
  <info>int   </info>  <strong>$flags          </strong>  The <strong>$flags</strong> parameter is used to control the amount of information that
                            is returned. It may be any combination of the following  constants with
                            the bitwise OR operator (|). The DBX_COLNAMES_* flags  override the
                            dbx.colnames_case setting from php.ini. <info>DBX_RESULT_INDEX</info> It is always
                            set, that is, the returned object  has a data property which is a 2
                            dimensional array indexed numerically. For example, in the expression
                            <return>data[2][3]</return> <return>2</return> stands for the row (or record) number and <return>3</return> stands for the
                            column  (or field) number. The first row and column are indexed at 0.
                            If <info>DBX_RESULT_ASSOC</info> is also specified, the  returning object contains
                            the information related to  <info>DBX_RESULT_INFO</info> too, even if it was not
                            specified.  <info>DBX_RESULT_INFO</info> It provides info about columns, such as
                            field names and field types. <info>DBX_RESULT_ASSOC</info> It effects that the field
                            values can be accessed with the respective  column names used as keys to
                            the returned object's  data property.  Associated results are actually
                            references to the numerically indexed  data, so modifying <return>data[0][0]</return>
                            causes that <return>data[0]['field_name_for_first_column']</return> is modified as well.
                            <info>DBX_RESULT_UNBUFFERED</info> This flag will not create the data property, and
                            the rows property will initially be 0. Use this  flag for large
                            datasets, and use <strong>dbx_fetch_row()</strong> to retrieve the results row by row.
                            The <strong>dbx_fetch_row()</strong> function will return rows that are conformant to the
                            flags set with this query. Incidentally, it will also update the rows
                            each time it is called. <info>DBX_COLNAMES_UNCHANGED</info> The case of the returned
                            column names will not be changed. <info>DBX_COLNAMES_UPPERCASE</info> The case of the
                            returned column names will be changed to  uppercase.
                            <info>DBX_COLNAMES_LOWERCASE</info> The case of the returned column names will be
                            changed to  lowercase.  Note that <info>DBX_RESULT_INDEX</info> is always used,
                            regardless  of the actual value of <strong>$flags</strong> parameter. This means  that
                            only the following combinations are effective:
                            <info>DBX_RESULT_INDEX</info><info>DBX_RESULT_INDEX</info> | <info>DBX_RESULT_INFO</info> <info>DBX_RESULT_INDEX</info> |
                            <info>DBX_RESULT_INFO</info> | <info>DBX_RESULT_ASSOC</info> - this is the default, if  <strong>$flags</strong> is
                            not specified.
                            
                            It is always set, that is, the returned object  has a data property
                            which is a 2 dimensional array indexed numerically. For example, in the
                            expression  <return>data[2][3]</return> <return>2</return> stands for the row (or record) number and <return>3</return>
                            stands for the column  (or field) number. The first row and column are
                            indexed at 0.
                            
                            If <info>DBX_RESULT_ASSOC</info> is also specified, the  returning object contains
                            the information related to  <info>DBX_RESULT_INFO</info> too, even if it was not
                            specified.
                            
                            It provides info about columns, such as field names and field types.
                            
                            It effects that the field values can be accessed with the respective
                            column names used as keys to the returned object's  data property.
                            
                            Associated results are actually references to the numerically indexed
                            data, so modifying <return>data[0][0]</return> causes that
                            <return>data[0]['field_name_for_first_column']</return> is modified as well.
                            
                            This flag will not create the data property, and  the rows property will
                            initially be 0. Use this  flag for large datasets, and use
                            <strong>dbx_fetch_row()</strong> to retrieve the results row by row.
                            
                            The <strong>dbx_fetch_row()</strong> function will return rows that are conformant to the
                            flags set with this query. Incidentally, it will also update the rows
                            each time it is called.
                            
                            The case of the returned column names will not be changed.
                            
                            The case of the returned column names will be changed to  uppercase.
                            
                            The case of the returned column names will be changed to  lowercase.
                            
                            <info>DBX_RESULT_INDEX</info>
                            
                            <info>DBX_RESULT_INDEX</info> | <info>DBX_RESULT_INFO</info>
                            
                            <info>DBX_RESULT_INDEX</info> | <info>DBX_RESULT_INFO</info> | <info>DBX_RESULT_ASSOC</info> - this is the
                            default, if  <strong>$flags</strong> is not specified.

<comment>Return:</comment>
  <info>mixed</info>  <strong>dbx_query()</strong> returns an object or <return>1</return>  on success, and <return>0</return> on failure. The result object is
         returned only if the query given in <strong>$sql_statement</strong> produces a result set (i.e. a SELECT
         query, even if the result set is empty).
         
         The returned object has four or five properties depending on <strong>$flags</strong>: handle It is a valid
         handle for the connected database, and as such it can be used in module specific functions
         (if required). handle, 0);
         ?>
         ]]> cols and rows  These contain the number of columns (or fields) and rows (or records)
         respectively. rows; // number of records
         echo $result->cols; // number of fields 
         ?>
         ]]> info (optional)  It is returned only if either <info>DBX_RESULT_INFO</info> or <info>DBX_RESULT_ASSOC</info> is
         specified in the <strong>$flags</strong> parameter. It is a 2 dimensional array, that has two named rows
         (<return>name</return> and  <return>type</return>) to retrieve column information. lists each field's name and typecols; $i++
         ) { echo $result->info['name'][$i] . "\n"; echo $result->info['type'][$i] . "\n";
         }
         ?>
         ]]>data This property contains the actual resulting data, possibly associated  with column
         names as well depending on <strong>$flags</strong>. If <info>DBX_RESULT_ASSOC</info> is set, it is possible to use
         <return>$result-&gt;data[2]["field_name"]</return>. outputs the content of data property into HTML tabledata
         as $row) { echo "\n"; foreach ($row as $field) { echo "$field"; } echo "\n";
         }
         echo "\n";
         ?>
         ]]>How to handle UNBUFFERED queries
         ]]>
         
         It is a valid handle for the connected database, and as such it can be used in module
         specific functions (if required). handle, 0);
         ?>
         ]]>
         
         These contain the number of columns (or fields) and rows (or records) respectively. rows;
         // number of records
         echo $result->cols; // number of fields 
         ?>
         ]]>
         
         It is returned only if either <info>DBX_RESULT_INFO</info> or <info>DBX_RESULT_ASSOC</info> is specified in the
         <strong>$flags</strong> parameter. It is a 2 dimensional array, that has two named rows (<return>name</return> and  <return>type</return>) to
         retrieve column information.
         
         This property contains the actual resulting data, possibly associated  with column names as
         well depending on <strong>$flags</strong>. If <info>DBX_RESULT_ASSOC</info> is set, it is possible to use
         <return>$result-&gt;data[2]["field_name"]</return>.

<comment>See Also:</comment>
   * <strong>dbx_escape_string()</strong>
   * <strong>dbx_fetch_row()</strong>
   * <strong>dbx_connect()</strong>


id: dbx_sort
type: function
doc:
<comment>Description:</comment>
  Sort a result from a dbx_query by a custom sort function
    
  
  Sort a result from a <strong>dbx_query()</strong> call with a custom sort function.

<comment>Param:</comment>
  <info>object</info>  <strong>$result               </strong>  A result set returned by <strong>dbx_query()</strong>.
  <info>string</info>  <strong>$user_compare_function</strong>  The user-defined comparison function. It must accept two arguments
                                  and return an integer less than, equal to, or greater than zero if
                                  the  first argument is considered to be respectively less than,
                                  equal to,  or greater than the second.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>dbx_compare()</strong>


id: dcgettext
type: function
doc:
<comment>Description:</comment>
  Overrides the domain for a single lookup
  
  This function allows you to override the current domain for a single message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain  </strong>  The domain
  <info>string</info>  <strong>$message </strong>  The message
  <info>int   </info>  <strong>$category</strong>  The category

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

<comment>See Also:</comment>
   * <strong>gettext()</strong>


id: dcngettext
type: function
doc:
<comment>Description:</comment>
  Plural version of dcgettext
  
  This function allows you to override the current domain for a single plural message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain  </strong>  The domain
  <info>string</info>  <strong>$singular</strong>  
  <info>string</info>  <strong>$plural  </strong>  
  <info>int   </info>  <strong>$count   </strong>  
  <info>int   </info>  <strong>$category</strong>  

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

<comment>See Also:</comment>
   * <strong>ngettext()</strong>


id: debug_backtrace
type: function
doc:
<comment>Description:</comment>
  Genera un backtrace
  
  <strong>debug_backtrace()</strong> genera un backtrace PHP.

<comment>Param:</comment>
  <info>bool</info>  <strong>$provide_object</strong>  Abilita o meno la popolazione dell'indice "object".

<comment>Return:</comment>
  <info>array</info>  Restituisce un <info>array</info> associativo. Gli elementi che possono essere restituiti sono elencati
         nella seguente tabella:
         
         Elementi restituibili dalla funzione <strong>debug_backtrace()</strong>NomeTipoDescrizionefunction<info>string</info> Il
         nome della funzione corrente. Vedere anche __FUNCTION__. line<info>integer</info> Il numero della linea
         corrente. Vedere anche __LINE__. file<info>string</info> Il nome del file corrente. Vedere anche
         __FILE__. class<info>string</info> Il nome della class corrente. Vedere anche __CLASS__ object<info>object</info>
         L'object corrente. type<info>string</info> Il tipo di chiamata corrente. Se chiamata di metodo, viene
         restituito "-&gt;" is returned. Se chiamata di metodo statico, viene restituito "::". Se
         chiamata di funzione, non viene restituito niente. args<info>array</info> Se all'interno di una
         funzione, elenca gli argomenti della funzione. Se all'interno di un file incluso, elenca i
         nomi del file incluso.

<comment>See Also:</comment>
   * <strong>trigger_error()</strong>
   * <strong>debug_print_backtrace()</strong>


id: debug_print_backtrace
type: function
doc:
<comment>Description:</comment>
  Stampa una backtrace

<comment>Return:</comment>
  <info>unknown</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>debug_backtrace()</strong>


id: debug_zval_dump
type: function
doc:
<comment>Description:</comment>
  Dumps a string representation of an internal zend value to output
  
  Dumps a string representation of an internal zend value to output.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value </strong>  The variable to dump.
  <info>mixed</info>  <strong>$values</strong>  Further variables to dump.

<comment>Return:</comment>
  <info>void</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>var_dump()</strong>
   * <strong>debug_backtrace()</strong>
   * References Explained
   * References Explained (by Derick Rethans)


id: define
type: function
doc:
<comment>Description:</comment>
  Definisce una costante
  
  Definisce una costante alfanumerica durante l'esecuzione.

<comment>Param:</comment>
  <info>string</info>  <strong>$name            </strong>  Il nome della costante.
  <info>mixed </info>  <strong>$value           </strong>  Il valore della costante; solo valori scalari e <info>null</info> sono consentiti. I
                             valori scalari comprendono <info>integer</info>,  <info>float</info>, <info>string</info> o <info>boolean</info>. E' anche
                             possibile definire costanti di tipo <info>resource</info>, tuttavia non è
                             raccomandato e può causare comportamenti imprevedibili.
  <info>bool  </info>  <strong>$case_insensitive</strong>  Se settato a <info>true</info>, la costante viene definita case-insensitive. Il
                             comportamento di default è case-sensitive; per esempio  <return>CONSTANT</return> e
                             <return>Constant</return> rappresentano valori diversi.
                             
                             Le costanti case-insensitive vengono salvate internamente in minuscolo.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>defined()</strong>
   * <strong>constant()</strong>
   * La sezione sulle Costanti


id: defined
type: function
doc:
<comment>Description:</comment>
  Verifica se dato nome di una costante, essa esiste
  
  Verifica se la data costante esiste ed è definita.
  
  Se vuoi verificare che una variabile esista, usa <strong>isset()</strong> infatti <strong>defined()</strong> si applica solo alle
  costanti. Se vuoi verificare che una funzione esista usa <strong>function_exists()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Il nome della costante.

<comment>Return:</comment>
  <info>bool</info>  Ritorna <info>true</info> se la costante con nome specificato da <strong>$name</strong> è stata definita, <info>false</info>
        altrimenti.

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>constant()</strong>
   * <strong>get_defined_constants()</strong>
   * <strong>function_exists()</strong>
   * La sezione sulle Costanti


id: deflate_add
type: function
doc:
<comment>Description:</comment>
  Incrementally deflate data
  
  Incrementally deflates data in the specified context.

<comment>Param:</comment>
  <info>DeflateContext</info>  <strong>$context   </strong>  A context created with <strong>deflate_init()</strong>.
  <info>string        </info>  <strong>$data      </strong>  A chunk of data to compress.
  <info>int           </info>  <strong>$flush_mode</strong>  One of <info>ZLIB_BLOCK</info>, <info>ZLIB_NO_FLUSH</info>, <info>ZLIB_PARTIAL_FLUSH</info>, <info>ZLIB_SYNC_FLUSH</info>
                               (default), <info>ZLIB_FULL_FLUSH</info>, <info>ZLIB_FINISH</info>. Normally you will want to
                               set <info>ZLIB_NO_FLUSH</info> to maximize compression, and <info>ZLIB_FINISH</info> to
                               terminate with the last chunk of data. See the zlib manual for a
                               detailed description of these constants.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns a chunk of compressed data,  o <info>false</info> in caso di fallimento.

<comment>See Also:</comment>
   * <strong>deflate_init()</strong>


id: deflate_init
type: function
doc:
<comment>Description:</comment>
  Initialize an incremental deflate context
  
  Initializes an incremental deflate context using the specified <strong>$encoding</strong>.
  
  Note that the <return>window</return> option here only sets the window size of the algorithm, differently from the
  zlib filters where the same parameter also sets the encoding to use; the encoding must be set with
  the <strong>$encoding</strong> parameter.
  
  Limitation: there is currently no way to set the header information on a GZIP compressed stream,
  which are set as follows: GZIP signature (<return>\x1f\x8B</return>); compression method (<return>\x08</return> == DEFLATE); 6 zero
  bytes; the operating system set to the current system (<return>\x00</return> = Windows, <return>\x03</return> = Unix, etc.)

<comment>Param:</comment>
  <info>int  </info>  <strong>$encoding</strong>  One of the <info>ZLIB_ENCODING_*</info> constants.
  <info>array</info>  <strong>$options </strong>  An associative array which may contain the following elements: level The
                    compression level in range -1..9; defaults to -1. memory The compression memory
                    level in range 1..9; defaults to 8. window The zlib window size (logarithmic) in
                    range <return>8</return>..<return>15</return>; defaults to <return>15</return>. zlib changes a window size of <return>8</return> to <return>9</return>, and as of
                    zlib 1.2.8 fails with a warning, if a window size of <return>8</return> is requested for
                    <info>ZLIB_ENCODING_RAW</info> or <info>ZLIB_ENCODING_GZIP</info>. strategy One of <info>ZLIB_FILTERED</info>,
                    <info>ZLIB_HUFFMAN_ONLY</info>, <info>ZLIB_RLE</info>, <info>ZLIB_FIXED</info> or <info>ZLIB_DEFAULT_STRATEGY</info> (the default).
                    dictionary A <info>string</info> or an <info>array</info> of <info>strings</info> of the preset dictionary (default: no
                    preset dictionary).
                    
                    The compression level in range -1..9; defaults to -1.
                    
                    The compression memory level in range 1..9; defaults to 8.
                    
                    The zlib window size (logarithmic) in range <return>8</return>..<return>15</return>; defaults to <return>15</return>. zlib changes
                    a window size of <return>8</return> to <return>9</return>, and as of zlib 1.2.8 fails with a warning, if a window
                    size of <return>8</return> is requested for <info>ZLIB_ENCODING_RAW</info> or <info>ZLIB_ENCODING_GZIP</info>.
                    
                    One of <info>ZLIB_FILTERED</info>, <info>ZLIB_HUFFMAN_ONLY</info>, <info>ZLIB_RLE</info>, <info>ZLIB_FIXED</info> or
                    <info>ZLIB_DEFAULT_STRATEGY</info> (the default).
                    
                    A <info>string</info> or an <info>array</info> of <info>strings</info> of the preset dictionary (default: no preset
                    dictionary).

<comment>Return:</comment>
  <info>DeflateContextfalse</info>  Returns a deflate context resource (<return>zlib.deflate</return>) on success,  o <info>false</info> in
                       caso di fallimento.

<comment>See Also:</comment>
   * <strong>deflate_add()</strong>
   * <strong>inflate_init()</strong>


id: deg2rad
type: function
doc:
<comment>Description:</comment>
  Converte il numero dato in gradi nell'equivalente espresso in radianti


id: dgettext
type: function
doc:
<comment>Description:</comment>
  Override the current domain
  
  The <strong>dgettext()</strong> function allows you to override the current <strong>$domain</strong> for a single message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain </strong>  The domain
  <info>string</info>  <strong>$message</strong>  The message

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

<comment>See Also:</comment>
   * <strong>gettext()</strong>


id: die
type: function
doc:
<comment>Description:</comment>
  Equivale a exit
  
  Questo costrutto è equivalente a <strong>exit()</strong>.


id: dio_close
type: function
doc:
<comment>Description:</comment>
  Chiude il descrittore di file passato
  
  La funzione <strong>dio_close()</strong> chiude il descrittore di file <strong>$fd</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>  Il descrittore di file restituito da <strong>dio_open()</strong>.

<comment>Return:</comment>
  <info>unknown</info>  Nessun valore viene restituito.

<comment>See Also:</comment>
   * <strong>dio_open()</strong>


id: dio_fcntl
type: function
doc:
<comment>Description:</comment>
  Esegue la funzione C fcntl su un descrittore di file
  
  La funzione <strong>dio_fcntl()</strong> esegue le operazioni specificate dal parametro <strong>$cmd</strong> sul descrittore di
  file <strong>$fd</strong>. Qualora i comandi richiedano informazioni addizionali occorre valorizzare <strong>$args</strong> con tali
  informazioni.
  
  Questa funzione non è
  implementata sulle piattaforme Windows.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd  </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>int     </info>  <strong>$cmd </strong>  Può indicare una delle seguenti operazioni: <info>F_SETLK</info> - imposta o azzera un lock.
                   Se il lock è impostato da un'altro processo la funzione <strong>dio_fcntl()</strong> restituisce
                   -1. <info>F_SETLKW</info> - come <info>F_SETLK</info>, ma nel caso in cui il lock sia impostato da
                   un'altro processo la funzione <strong>dio_fcntl()</strong> attende sino a quando il blocco non
                   viene rimosso. <info>F_GETLK</info> - la <strong>dio_fcntl()</strong> restituisce un array associativo (come
                   descritto precedentemente) se qualche altro processo impedisce il lock. Se non vi
                   sono problemi la chiave "type" sarà impostata a <info>F_UNLCK</info>. <info>F_DUPFD</info> - trova il più
                   piccolo numero di descrittore di file disponibile che sia maggiore o uguale
                   rispetto ad <strong>$args</strong> e lo restituisce. <info>F_SETF</info>L - Imposta i flag del descrittore di
                   file al valore specificato da <strong>$args</strong>. Tale valore può essere <info>O_APPEND</info>, <info>O_NONBLOCK</info>
                   oppure <info>O_ASYNC</info>. Per utilizzare <info>O_ASYNC</info> occorre utilizzare l'estensione PCNTL.
                   
                   <info>F_SETLK</info> - imposta o azzera un lock. Se il lock è impostato da un'altro processo
                   la funzione <strong>dio_fcntl()</strong> restituisce -1.
                   
                   <info>F_SETLKW</info> - come <info>F_SETLK</info>, ma nel caso in cui il lock sia impostato da  un'altro
                   processo la funzione <strong>dio_fcntl()</strong> attende sino a quando il blocco non viene
                   rimosso.
                   
                   <info>F_GETLK</info> - la <strong>dio_fcntl()</strong> restituisce un array associativo (come descritto
                   precedentemente) se qualche altro processo impedisce il lock. Se non vi sono
                   problemi la chiave "type" sarà impostata a <info>F_UNLCK</info>.
                   
                   <info>F_DUPFD</info> - trova il più piccolo numero di descrittore di file disponibile che sia
                   maggiore o uguale rispetto ad <strong>$args</strong> e lo restituisce.
                   
                   <info>F_SETF</info>L - Imposta i flag del descrittore di file al valore specificato da <strong>$args</strong>.
                   Tale valore può essere <info>O_APPEND</info>, <info>O_NONBLOCK</info> oppure <info>O_ASYNC</info>. Per utilizzare
                   <info>O_ASYNC</info> occorre utilizzare l'estensione PCNTL.
  <info>mixed   </info>  <strong>$args</strong>  Il parametro <strong>$args</strong> è un array associativo, nei casi in cui <strong>$cmd</strong> è impostato a
                   <info>F_SETLK</info> oppure a <info>F_SETLLW</info>, contiene le seguenti chiavi:  "start" - offset da cui
                   comincia il lock  "length" - dimensione dell'area bloccata, zero significa fine
                   file  "wenth" - a cosa  l_start è relativo:  può valere <info>SEEK_SET</info>, <info>SEEK_END</info> o
                   <info>SEEK_CUR</info>  "type" - tipo di lock: può essere <info>F_RDLCK</info> (lock in lettura), <info>F_WRLCK</info>
                   (lock in scrittura) oppure <info>F_UNLCK</info> (rimozione del lock)
                   
                   "start" - offset da cui comincia il lock
                   
                   "length" - dimensione dell'area bloccata, zero significa fine file
                   
                   "wenth" - a cosa  l_start è relativo:  può valere <info>SEEK_SET</info>, <info>SEEK_END</info> o <info>SEEK_CUR</info>
                   
                   "type" - tipo di lock: può essere <info>F_RDLCK</info> (lock in lettura), <info>F_WRLCK</info> (lock in
                   scrittura) oppure <info>F_UNLCK</info> (rimozione del lock)

<comment>Return:</comment>
  <info>mixed</info>  Restituisce il valore della chiamata C.


id: dio_open
type: function
doc:
<comment>Description:</comment>
  Apre un nuovo file nella modalità specificata da flags e
     i permessi indicati in mode
    
  
  La funzione <strong>dio_open()</strong> apre un file e restituisce un nuovo descrittore di file per questo.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Il file aperto.
  <info>int   </info>  <strong>$flags   </strong>  Il parametro <strong>$flags</strong> può contenere qualsiasi combinazione dei seguenti valori:
                     <info>O_CREAT</info> - crea un file, se questo  non esiste già. <info>O_EXCL</info>  - se sono impostati
                     sia <info>O_CREAT</info> e sia <info>O_EXCL</info>, la funzione <strong>dio_open()</strong> fallisce se il file esiste.
                     <info>O_TRUNC</info> - se il file esiste, ed è aperto in scrittura, il file verrà portato a
                     lunghezza zero. <info>O_APPEND</info> - nelle operazioni di scrittura, scrive i dati alla
                     fine del file. <info>O_NONBLOCK</info> - imposta la modalità non blocking.
                     
                     <info>O_CREAT</info> - crea un file, se questo  non esiste già.
                     
                     <info>O_EXCL</info>  - se sono impostati sia <info>O_CREAT</info> e sia <info>O_EXCL</info>, la funzione <strong>dio_open()</strong>
                     fallisce se il file esiste.
                     
                     <info>O_TRUNC</info> - se il file esiste, ed è aperto in scrittura, il file verrà portato a
                     lunghezza zero.
                     
                     <info>O_APPEND</info> - nelle operazioni di scrittura, scrive i dati alla fine del file.
                     
                     <info>O_NONBLOCK</info> - imposta la modalità non blocking.
  <info>int   </info>  <strong>$mode    </strong>  Se <strong>$flags</strong> vale <info>O_CREAT</info>, allora il parametro <strong>$mode</strong> imposta la modalità del file
                     (permessi di creazione).   <info>O_RDONLY</info> - apre il file per accessi in lettura.
                     <info>O_WRONLY</info> - apre il file in scrittura. <info>O_RDWR</info> - apre il file sia in lettura sia
                     in scrittura.
                     
                     <info>O_RDONLY</info> - apre il file per accessi in lettura.
                     
                     <info>O_WRONLY</info> - apre il file in scrittura.
                     
                     <info>O_RDWR</info> - apre il file sia in lettura sia in scrittura.

<comment>Return:</comment>
  <info>resource</info>  Restituisce un descrittore di file, oppure <info>false</info> in caso di errore.

<comment>See Also:</comment>
   * <strong>dio_close()</strong>


id: dio_read
type: function
doc:
<comment>Description:</comment>
  Legge n bytes da un descrittore di file
  
  La funzione <strong>dio_read()</strong> legge e restituisce <strong>$len</strong> bytes dal file indicato dal descrittore <strong>$fd</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>int     </info>  <strong>$len</strong>  Numero di byte da leggere. Se non indicato <strong>dio_read()</strong> legge blocchi da un 1k.

<comment>Return:</comment>
  <info>string</info>  I byte letti da <strong>$fd</strong>.

<comment>See Also:</comment>
   * <strong>dio_write()</strong>


id: dio_seek
type: function
doc:
<comment>Description:</comment>
  Si posiziona al byte pos del file indicato da fd
  
  La funzione <strong>dio_seek()</strong> viene utilizzata per modificare la  posizione nel file indicato dal
  descrittore <strong>$fd</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd    </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>int     </info>  <strong>$pos   </strong>  La nuova posizione.
  <info>int     </info>  <strong>$whence</strong>  specifica come debba essere interpretata la posizione indicata da <strong>$pos</strong>:
                     <info>SEEK_SET</info> (default) - Indica che <strong>$pos</strong> è determinato dall'inizio del file.
                     <info>SEEK_CUR</info> - Indica che <strong>$pos</strong> è il numero di caratteri dalla posizione attuale.
                     Questo valore può essere positivo o negativo. <info>SEEK_END</info> - Indica che <strong>$pos</strong> è il
                     numero di caratteri dalla fine del file. Un valore negativo specifica una
                     posizione all'interno dell'estensione del file; un valore positivo specifica
                     una posizione oltre la fine corrente del file. Se si specifica una posizione
                     oltre la fine del file, e vi si scrive dei dati, il file sarà allungato e
                     riempito di zero fino a quella posizione.
                     
                     <info>SEEK_SET</info> (default) - Indica che <strong>$pos</strong> è determinato dall'inizio del file.
                     
                     <info>SEEK_CUR</info> - Indica che <strong>$pos</strong> è il numero di caratteri dalla posizione attuale.
                     Questo valore può essere positivo o negativo.
                     
                     <info>SEEK_END</info> - Indica che <strong>$pos</strong> è il numero di caratteri dalla fine del file. Un
                     valore negativo specifica una posizione all'interno dell'estensione del file;
                     un valore positivo specifica una posizione oltre la fine corrente del file. Se
                     si specifica una posizione oltre la fine del file, e vi si scrive dei dati, il
                     file sarà allungato e riempito di zero fino a quella posizione.

<comment>Return:</comment>
  <info>int</info>  


id: dio_stat
type: function
doc:
<comment>Description:</comment>
  Restituisce le informazioni relative al file indicato da fd
    
  
  La funzione <strong>dio_stat()</strong> restituisce le informazioni  sul dato descrittore di file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>  Descrittore di file restituito da <strong>dio_open()</strong>.

<comment>Return:</comment>
  <info>array</info>  Restituisce un array associativo contenente le seguenti chiavi:  "device" - device  "inode"
         - inode  "mode" - mode  "nlink" - numero di link  "uid" - user id  "gid" - group id
         "device_type" - device type (se inode device)  "size" - total size in bytes  "blocksize" -
         blocksize  "blocks" - dimensione totale in byte  "atime" - data dell'ultimo accesso
         "mtime" - data dell'ultima modifica  "ctime" - data dell'ultimo cambiamento  Se si verifica
         un errore la funzione <strong>dio_stat()</strong> restituisce <info>null</info>.
         
         "device" - device
         
         "inode" - inode
         
         "mode" - mode
         
         "nlink" - numero di link
         
         "uid" - user id
         
         "gid" - group id
         
         "device_type" - device type (se inode device)
         
         "size" - total size in bytes
         
         "blocksize" - blocksize
         
         "blocks" - dimensione totale in byte
         
         "atime" - data dell'ultimo accesso
         
         "mtime" - data dell'ultima modifica
         
         "ctime" - data dell'ultimo cambiamento


id: dio_tcsetattr
type: function
doc:
<comment>Description:</comment>
  Imposta gli attributi terminale e la velocità per una porta seriale
    
  
  La funzione <strong>dio_tcsetattr()</strong> imposta gli attributi di terminale e la velocità della porta aperta
  <strong>$fd</strong>.
  
  Questa funzione non è
  implementata sulle piattaforme Windows.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd     </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>array   </info>  <strong>$options</strong>  Attualmente le opzioni disponibili sono:  'baud' - velocità della porta - può
                      essere 38400,19200,9600,4800,2400,1800,1200,600,300,200,150,134,110,75 oppure
                      50, il valore di default è 9600  'bits' - bit di dati - può essere 8,7,6
                      oppure 5 il valore di default è 8.   'stop' - bit di stop - può essere 1 o 2
                      il valore di default è 1.  'parity' -  può essere 0,1 o 2 il valore di default
                      è 0.
                      
                      'baud' - velocità della porta - può essere
                      38400,19200,9600,4800,2400,1800,1200,600,300,200,150,134,110,75 oppure 50, il
                      valore di default è 9600
                      
                      'bits' - bit di dati - può essere 8,7,6 oppure 5 il valore di default è 8.
                      
                      'stop' - bit di stop - può essere 1 o 2 il valore di default è 1.
                      
                      'parity' -  può essere 0,1 o 2 il valore di default è 0.

<comment>Return:</comment>
  <info>unknown</info>  Nessun valore viene restituito.


id: dio_truncate
type: function
doc:
<comment>Description:</comment>
  Tronca il file indicato da fd ad un numero di byte specificato
    
  
  La funzione <strong>dio_truncate()</strong> tronca il file indicato da <strong>$fd</strong> ad una lunghezza massima di <strong>$offset</strong>
  bytes.
  
  Se in precedenza il file ha una dimensione maggiore, i dati in eccesso sono persi. Al contrario se
  il file è più corto, non è specificato se si debba lasciarlo inalterato o debba essere allungato.
  Nell'ultimo caso la parte aggiunta viene riempita come byte zero

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd    </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>int     </info>  <strong>$offset</strong>  L'offset in byte.

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento.


id: dio_write
type: function
doc:
<comment>Description:</comment>
  Scrive dati sul file indicato da fd con la possibilità di troncarne la lunghezza
    
  
  La funzione <strong>dio_write()</strong> scrive fino a <strong>$len</strong>  bytes da <strong>$data</strong> nel file <strong>$fd</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd  </strong>  Descrittore di file restituito da <strong>dio_open()</strong>.
  <info>string  </info>  <strong>$data</strong>  I dati scritti.
  <info>int     </info>  <strong>$len </strong>  Lunghezza dei dati da scrivere in byte. Se non indicato, la funzione scrive tutti
                   i dati nel file indicato.

<comment>Return:</comment>
  <info>int</info>  La funzione restituisce il numero di byte scritti in <strong>$fd</strong>.

<comment>See Also:</comment>
   * <strong>dio_read()</strong>


id: dir
type: function
doc:
<comment>Description:</comment>
  Return an instance of the Directory class
  
  A pseudo-object oriented mechanism for reading a directory.  The given <strong>$directory</strong> is opened.

<comment>Param:</comment>
  <info>string  </info>  <strong>$directory</strong>  Directory to open
  <info>resource</info>  <strong>$context  </strong>  Il supporto per il contesto è stato
                        aggiunto in PHP 5.0.0. Per la descrizione del <return>contesto</return>, fare riferimento a
                        .
                        
                        Il supporto per il contesto è stato
                        aggiunto in PHP 5.0.0. Per la descrizione del <return>contesto</return>, fare riferimento a
                        .

<comment>Return:</comment>
  <info>Directory</info>  Returns an instance of <class>Directory</class>, or <info>null</info> with wrong parameters, or <info>false</info> in case of
             another error.


id: dl
type: function
doc:
<comment>Description:</comment>
  Carica un estensione PHP a runtime
  
  Carica l'estensione PHP fornita dal parametro <strong>$library</strong>.
  
  Si può utilizzare <strong>extension_loaded()</strong> per testare se un dato modulo è già disponibile oppure no.
  Questo funziona sia sulle estensioni integrate sia su quelle caricate dinamicamente (tramite
  php.ini oppure <strong>dl()</strong>).
  
  Questa funzione è stata rimossa dalla maggior parte dei SAPI in PHP 5.3.0, ed è stata rimossa da
  PHP-FPM in PHP 7.0.0.

<comment>Param:</comment>
  <info>string</info>  <strong>$library</strong>  Il parametro indica soltanto il nome del file dell' estensione da caricare che
                    può dipendere dalla piattaforma utilizzata. Ad esempio, l'estensione sockets (se
                    compilata come modulo condiviso, non il default!) sulle piattaforme Unix si
                    chiamerebbe sockets.so, mentre su quelle Windows  si chiamerebbe
                    php_sockets.dll.
                    
                    La directory da cui viene caricata l'estensione dipende dalla piattaforma:
                    
                    Windows - Se non viene impostato esplicitamente nel php.ini, di default
                    l'estensione viene caricata da C:\php5\.
                    
                    Unix - Se non viene impostato esplicitamente nel php.ini, di default la
                    directory dell'estensione dipende da  se PHP è stato compilato con
                    <return>--enable-debug</return> o meno  se PHP è stato compilato con il supporto (sperimentale) a
                    ZTS (Zend Thread Safety) o meno  la costante interna <return>ZEND_MODULE_API_NO</return> (numero
                    API del modulo interno Zend, che è fondamentalmente la data in cui è avvenuta
                    un'importante modifica all'API del modulo, ad esempio <return>20010901</return>)          Tenendo
                    conto di quanto sopra, la directory viene quindi impostata di default a <return>\<install-dir&gt;/lib/php/extensions/ \<debug-or-not&gt;-\<zts-or-not&gt;-ZEND_MODULE_API_NO</return>, per esempio /usr/local/php/lib/php/extensions/debug-non-zts-20010901 oppure /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
                    
                    se PHP è stato compilato con <return>--enable-debug</return> o meno
                    
                    se PHP è stato compilato con il supporto (sperimentale) a ZTS (Zend Thread
                    Safety) o meno
                    
                    la costante interna <return>ZEND_MODULE_API_NO</return> (numero API del modulo interno Zend, che
                    è fondamentalmente la data in cui è avvenuta un'importante modifica all'API del
                    modulo, ad esempio <return>20010901</return>)

<comment>Return:</comment>
  <info>bool</info>  Restituisce <info>true</info> in caso di successo, <info>false</info> in caso di fallimento. Se la funzionalità di
        carico dei moduli non è disponibile oppure è stata disabilitata (disattivando enable_dl nel
        php.ini), viene generato un <info>E_ERROR</info> e viene bloccata l'esecuzione. Se <strong>dl()</strong> fallisce perché
        non riesce a caricare la libreria indicata, oltre a restituire <info>false</info>, viene emesso un
        messaggio <info>E_WARNING</info>.

<comment>See Also:</comment>
   * Direttive sul Caricamento delle Estensioni
   * <strong>extension_loaded()</strong>


id: dngettext
type: function
doc:
<comment>Description:</comment>
  Plural version of dgettext
  
  The <strong>dngettext()</strong> function allows you to override the current <strong>$domain</strong> for a single plural message
  lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain  </strong>  The domain
  <info>string</info>  <strong>$singular</strong>  
  <info>string</info>  <strong>$plural  </strong>  
  <info>int   </info>  <strong>$count   </strong>  

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

<comment>See Also:</comment>
   * <strong>ngettext()</strong>


id: dns_check_record
type: function
doc:
<comment>Description:</comment>
  Alias di checkdnsrr
  
  Questa funzione è sinonimo di:  <strong>checkdnsrr()</strong>.


id: dns_get_mx
type: function
doc:
<comment>Description:</comment>
  Alias di getmxrr
  
  Questa funzione è sinonimo di:  <strong>getmxrr()</strong>.


id: dns_get_record
type: function
doc:
<comment>Description:</comment>
  Fetch DNS Resource Records associated with a hostname
  
  Fetch DNS Resource Records associated with the given <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname                  </strong>  <strong>$hostname</strong> should be a valid DNS hostname such as
                                       "<return>www.example.com</return>". Reverse lookups can be generated using
                                       <return>in-addr.arpa</return> notation, but <strong>gethostbyaddr()</strong> is more suitable
                                       for the majority of reverse lookups.
                                       
                                       Per DNS standards, email addresses are given in <return>user.host</return>
                                       format (for example: <return>hostmaster.example.com</return> as opposed to
                                       <return>hostmaster@example.com</return>), be sure to check this value and
                                       modify if necessary before using it with a functions such as
                                       <strong>mail()</strong>.
  <info>int   </info>  <strong>$type                      </strong>  By default, <strong>dns_get_record()</strong> will search for any resource
                                       records associated with <strong>$hostname</strong>.  To limit the query,
                                       specify the optional <strong>$type</strong> parameter. May be any one of the
                                       following: <info>DNS_A</info>, <info>DNS_CNAME</info>, <info>DNS_HINFO</info>, <info>DNS_CAA</info>, <info>DNS_MX</info>,
                                       <info>DNS_NS</info>, <info>DNS_PTR</info>, <info>DNS_SOA</info>, <info>DNS_TXT</info>, <info>DNS_AAAA</info>, <info>DNS_SRV</info>,
                                       <info>DNS_NAPTR</info>, <info>DNS_A6</info>, <info>DNS_ALL</info> or <info>DNS_ANY</info>.
                                       
                                       Because of eccentricities in the performance of libresolv
                                       between platforms, <info>DNS_ANY</info> will not always return every
                                       record, the slower <info>DNS_ALL</info> will collect all records more
                                       reliably.
                                       
                                       <info>DNS_CAA</info> is not supported on Windows.
  <info>array </info>  <strong>$authoritative_name_servers</strong>  Passed by reference and, if given, will be populated with
                                       Resource Records for the Authoritative Name Servers.
  <info>array </info>  <strong>$additional_records        </strong>  Passed by reference and, if given, will be populated with any
                                       Additional Records.
  <info>bool  </info>  <strong>$raw                       </strong>  The <strong>$type</strong> will be interpreted as a raw DNS type ID (the <return>DNS_*</return>
                                       constants cannot be used). The return value will contain a
                                       <return>data</return> key, which needs to be manually parsed.

<comment>Return:</comment>
  <info>arrayfalse</info>  This function returns an array of associative arrays, o <info>false</info> in caso di fallimento.
              Each associative array contains at minimum the following keys: Basic DNS
              attributesAttributeMeaninghost The record in the DNS namespace to which the rest of
              the associated data refers. class<strong>dns_get_record()</strong> only returns Internet class records
              and as such this parameter will always return <return>IN</return>. type String containing the record
              type.  Additional attributes will also be contained in the resulting array dependant
              on the value of type. See table below. ttl<return>"Time To Live"</return> remaining for this record.
              This will not equal the record's original ttl, but will rather equal the original ttl
              minus whatever length of time has passed since the authoritative name server was
              queried.
              
              Other keys in associative arrays dependant on 'type'TypeExtra Columns<return>A</return><return>ip</return>: An IPv4
              addresses in dotted decimal notation. <return>MX</return><return>pri</return>: Priority of mail exchanger. Lower numbers
              indicate greater priority. <return>target</return>: FQDN of the mail exchanger. See also <strong>dns_get_mx()</strong>.
              <return>CNAME</return><return>target</return>: FQDN of location in DNS namespace to which the record is aliased.
              <return>NS</return><return>target</return>: FQDN of the name server which is authoritative for this hostname. <return>PTR</return><return>target</return>:
              Location within the DNS namespace to which this record points. <return>TXT</return><return>txt</return>: Arbitrary
              string data associated with this record. <return>HINFO</return><return>cpu</return>: IANA number designating the CPU of
              the machine referenced by this record. <return>os</return>: IANA number designating the Operating
              System on the machine referenced by this record. See IANA's <return>Operating System Names</return> for
              the meaning of these values. <return>CAA</return><return>flags</return>: A one-byte bitfield; currently only bit 0 is
              defined, meaning 'critical'; other bits are reserved and should be ignored. <return>tag</return>: The
              CAA tag name (alphanumeric ASCII string). <return>value</return>: The CAA tag value (binary string, may
              use subformats). For additional information see: RFC 6844<return>SOA</return><return>mname</return>: FQDN of the machine
              from which the resource records originated. <return>rname</return>: Email address of the administrative
              contact for this domain. <return>serial</return>: Serial # of this revision of the requested domain.
              <return>refresh</return>: Refresh interval (seconds) secondary name servers should use when updating
              remote copies of this domain. <return>retry</return>: Length of time (seconds) to wait after a failed
              refresh before making a second attempt. <return>expire</return>: Maximum length of time (seconds) a
              secondary DNS server should retain remote copies of the zone data without a successful
              refresh before discarding. <return>minimum-ttl</return>: Minimum length of time (seconds) a client can
              continue to use a DNS resolution before it should request a new resolution from the
              server.  Can be overridden by individual resource records. <return>AAAA</return><return>ipv6</return>: IPv6 address
              <return>A6</return>(PHP &gt;= 5.1.0)<return>masklen</return>: Length (in bits) to inherit from the target specified by
              <strong>$chain</strong>. <return>ipv6</return>: Address for this specific record to merge with <strong>$chain</strong>. <return>chain</return>: Parent
              record to merge with <strong>$ipv6</strong> data. <return>SRV</return><return>pri</return>: (Priority) lowest priorities should be used
              first. <return>weight</return>: Ranking to weight which of commonly prioritized <strong>$targets</strong> should be
              chosen at random. <return>target</return> and <return>port</return>: hostname and port where the requested service can
              be found. For additional information see: RFC 2782 <return>NAPTR</return><return>order</return> and <return>pref</return>: Equivalent to
              <strong>$pri</strong> and <strong>$weight</strong> above. <return>flags</return>, <return>services</return>, <return>regex</return>, and <return>replacement</return>: Parameters as defined
              by RFC 2915.

<comment>See Also:</comment>
   * <strong>dns_get_mx()</strong>
   * <strong>dns_check_record()</strong>


id: dom_import_simplexml
type: function
doc:
<comment>Description:</comment>
  Ottiene un oggetto DOMElement da un
     oggetto SimpleXMLElement
    
  
  Questa funzione prende il nodo <strong>$node</strong> della classe SimpleXML e lo rende un nodo <class>DOMElement</class>. Dopo
  questo nuovo oggetto può essere usato come un nodo nativo <class>DOMElement</class>.

<comment>Param:</comment>
  <info>SimpleXMLElement</info>  <strong>$node</strong>  Il nodo <class>SimpleXMLElement</class>.

<comment>Return:</comment>
  <info>DOMElement</info>  Il nodo <class>DOMElement</class> aggiunto o <info>false</info> se si verificano errori.

<comment>See Also:</comment>
   * <strong>simplexml_import_dom()</strong>


