Source for file class.pgsql.php
Documentation is available at class.pgsql.php
* @author linea21 <info@linea21.com>
* @license http://opensource.org/licenses/gpl-3.0.html
* pgSQL data manipulation
* Initialisation de la connexion
* @param string $user : utilisateur base de données
* @param string $pass : password utilisateur base de données
* @param string $serveur : serveur de base de données
* @param string $bdd : nom de la base de données
function DBInitialise($user = '', $pass = '', $serveur = '', $bdd = '')
* connexion Base de données
or die($this->DBError(_t('divers','db_connect_failed')));
if(defined('MOD_DEBUG') && MOD_DEBUG == true && isset ($GLOBALS['Dbg'])) {
// $Dbg->queryRel('Connecting to <i>'.SQL.'</i> DATABASE [<b>'.$this->DB_NAME.'</b>] dns: '.$this->DB_USER.':'.$this->DB_PASS.'@'.DB_HOST);
* Gestion des erreurs SQL
* @param string $message_err : message retourné par la requête
* @param string $requete : requête provoquant l'erreur
function DBError($message_err, $requete = - 1)
//pg_set_error_verbosity($this->DB_LINK, PGSQL_ERRORS_VERBOSE);
$erreur = $message_err . "<br />[<em> PostgreSQL error (pg_result_error): " . @pg_result_error($res1). "<br />";
$erreur.= "(pg_last_error): " . @pg_last_error() . "</em> ]<br />\n";
$this->_logDbError($requete);
$erreur .= "$requete<br />\n";
$date = date("[D d/M/y H:i:s]<br />\n");
$erreur .= "running script :" . $_SERVER["SCRIPT_NAME"] . getHttpParameters() . "<br />";
if(defined('MOD_DEBUG') && MOD_DEBUG == true) {
* Insertion de données dans la BDD
* @param string $requete : requête SQL
* @param string $returnid : Si $returnid==1 ==> renvoie last_id()
* @return integer || boolean : $result last_id()
function DBInsert ($requete, $returnid = - 1)
// Si returnid=1 on renvoie l'id de l'enregistrement
// A utiliser uniquement si attribut auto_increment
if ($returnid == 1) return $this->_DBgetInsertId($requete);
* Echappement des variables
* @param string $input : données
foreach ($input as $key => $value) {
* pgsql::_DBgetInsertId()
* Insertion de données dans la BDD
* @param string $requete : requête SQL
function _DBgetInsertId ($requete)
if (!($res = $this->DBQuery("SELECT * FROM " . $tablename . " LIMIT 1;"))) return false;
$seq = $tablename. '_' . $id_name . '_seq';
$res = $this->DBSelect("SELECT currval('" . $seq . "');");
return $res[0]['currval'];
* effectue une requête en tous genres -UPDATE - DELETE - SELECT
* @param string $requete : requête SQL
* @return boolean : $result
if(defined('MOD_DEBUG') && MOD_DEBUG == true && isset ($GLOBALS['Dbg'])) {
$this->_logDbQuery($requete);
$this->RESULT = pg_query($this->DB_LINK, $requete) or die($this->DbError(_t('divers','sql_query_failed'), $requete));
* @param string $requete : requête SQL
* @param string $fetch : renvoie des données, valeur ASSOC (default), ARRAY, OBJECT
* @return array : $result
function DBSelect ($requete, $fetch = 'ASSOC')
if ($fetch == 'OBJECT') {
if (!isset ($table)) $table = 0;
* Retourne le nombre d'enregistrements affecté par la dernière requête
if(defined('SQL_LOG_DEBUG') && SQL_LOG_DEBUG == 1) {
* Retourne le nombre d'enregistrements affecté par la dernière requête
|