Fixed issue #95.
This commit is contained in:
parent
165ded7cac
commit
534fb5409c
@ -326,12 +326,13 @@ function datasource($POST="")
|
||||
{
|
||||
$dbhost = (!empty($_POST['NameServeur'])) ? $_POST['NameServeur'] : 'localhost';
|
||||
$dbuser = (!empty($_POST['LoginServeur'])) ? $_POST['LoginServeur']: "";
|
||||
$dbport = (!empty($_POST['PortServeur'])) ? $_POST['PortServeur']: 3306;
|
||||
$dbpasswd = (!empty($_POST['PwdServeur'])) ? $_POST['PwdServeur'] : "";
|
||||
$dbname = (!empty($_POST['BdServeur'])) ? $_POST['BdServeur']: "";
|
||||
$dbnameprefx = (!empty($_POST['PrefxBdServeur'])) ? $_POST['PrefxBdServeur']: "";
|
||||
|
||||
try {
|
||||
$bd_connect = new PDO("mysql:host=$dbhost", "$dbuser", "$dbpasswd"); // PDO Connection
|
||||
$bd_connect = new PDO("mysql:host=$dbhost;port=$dbport", "$dbuser", "$dbpasswd"); // PDO Connection
|
||||
} catch (PDOException $e) {
|
||||
// $e->getCode = 1045 = Access denied
|
||||
// $e->getCode = 1049 = Unknown database
|
||||
@ -340,7 +341,7 @@ function datasource($POST="")
|
||||
|
||||
$dbselect = true;
|
||||
try {
|
||||
$bd_connect = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection
|
||||
$bd_connect = new PDO("mysql:host=$dbhost;port=$dbport;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection
|
||||
} catch (PDOException $e) {
|
||||
// $e->getCode = 1049 = Unknown database
|
||||
if( $e->getCode() == '1049' ) $dbselect = false;
|
||||
@ -470,6 +471,7 @@ function datasource($POST="")
|
||||
// On met à jour le fichier config.data_source.php
|
||||
if ( updateStringInFile(array( "{_DBCONNECTOR_}"=>"mysql",
|
||||
"{_DBHOST_}"=>$dbhost,
|
||||
"{_DBPORT_}"=>$dbport,
|
||||
"{_DBUSER_}"=>$dbuser,
|
||||
"{_DBPASSWD_}"=>$dbpasswd,
|
||||
"{_DBNAME_}"=>$dbname,
|
||||
|
@ -244,7 +244,7 @@ class MysqlBackUpDb extends CommonBackupDb
|
||||
// mysql_select_db($db, $connect);
|
||||
$dbselect = true;
|
||||
try {
|
||||
$bd_connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8", "$login", "$password"); // PDO Connection
|
||||
$bd_connect = new PDO("mysql:host=$host;port=$port;dbname=$db;charset=utf8", "$login", "$password"); // PDO Connection
|
||||
} catch (PDOException $e) {
|
||||
// $e->getCode = 1049 = Unknown database
|
||||
if( $e->getCode() == '1049' ) $dbselect = false;
|
||||
|
@ -13,32 +13,22 @@
|
||||
* fitness for a particular purpose. Please
|
||||
* read the file LICENCE.
|
||||
*
|
||||
* mysql5.php
|
||||
* -------------------
|
||||
* begin : Saturday, Feb 13, 2001
|
||||
* copyright : (C) 2001 The phpBB Group
|
||||
* email : supportphpbb.com
|
||||
*
|
||||
* $Id: mysql5.php,v 1.3 2006/10/10 21:38:55 tristan Exp $
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
*Fichier mysql5.php
|
||||
*Fichier mypdo.php
|
||||
*
|
||||
*Ce fichier contient la classe d'accès aux données pour MYSQL 5
|
||||
*Ce fichier contient la classe d'accès aux données pour MYSQL
|
||||
*
|
||||
* @author The phpBB Group
|
||||
* @since 2018/03/19
|
||||
* @version 1.16
|
||||
* @link http://www.phpbb.com
|
||||
* @author Rooty <rooty@rooty.me>
|
||||
* @since 2021/12/13
|
||||
* @version 0.1
|
||||
* @link www.qware.fr
|
||||
* @package system_data_source
|
||||
* @subpackage database
|
||||
* @modify by Initiance <www.initiance.com|olivier@initiance.com>
|
||||
*
|
||||
*/
|
||||
|
||||
@ -112,61 +102,33 @@ class mypdo extends Database
|
||||
*<p>Initialise la connection a la base de données MySQL 5</p>
|
||||
*
|
||||
* @param chaine Nom de l'hote MySQL
|
||||
* @param chaine Port de l'hote MySQL
|
||||
* @param chaine Nom d'utilisateur
|
||||
* @param chaine Mot de passe de connection
|
||||
* @param chaine Nom de la base a utiliser
|
||||
* @param booléen Connection persistante
|
||||
*/
|
||||
function mypdo($dbtype, $host, $user, $password, $database, $charset, $persistency = true)
|
||||
function mypdo($dbtype, $host, $port, $user, $password, $database, $charset, $persistency = true)
|
||||
{
|
||||
$this->__construct($dbtype, $server, $user, $password, $database, $charset, $persistency);
|
||||
$this->__construct($dbtype, $server, $port, $user, $password, $database, $charset, $persistency);
|
||||
}
|
||||
|
||||
function __construct($dbtype, $server, $user, $password, $database, $charset, $persistency = true)
|
||||
function __construct($dbtype, $server, $port, $user, $password, $database, $charset, $persistency = true)
|
||||
{
|
||||
$this->persistency = $persistency;
|
||||
$this->dbtype = $dbtype;
|
||||
$this->user = $user;
|
||||
$this->password = $password;
|
||||
$this->server = $server;
|
||||
$this->port = $port;
|
||||
$this->dbname = $database;
|
||||
$this->dbcharset = $charset;
|
||||
|
||||
try {
|
||||
$this->db_connect = new PDO("$this->dbtype:host=$this->server;dbname=$this->dbname;charset=$this->dbcharset", "$this->user", "$this->password"); // PDO Connection
|
||||
// echo 'Connexion réussie : '.$this->db_connect."<br>";
|
||||
// return $this->db_connect;
|
||||
$this->db_connect = new PDO("$this->dbtype:host=$this->server;port=$this->dbport;dbname=$this->dbname;charset=$this->dbcharset", "$this->user", "$this->password"); // PDO Connection
|
||||
} catch (PDOException $e) {
|
||||
// echo 'Connexion échouée : ' . $e->getMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
// if($this->persistency)
|
||||
// {
|
||||
// $this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// $this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password);
|
||||
// }
|
||||
// if($this->db_connect_id)
|
||||
// {
|
||||
// if($database != "")
|
||||
// {
|
||||
// $this->dbname = $database;
|
||||
// $dbselect = @mysql_select_db($this->dbname);
|
||||
// if(!$dbselect)
|
||||
// {
|
||||
// @mysql_close($this->db_connect_id);
|
||||
// $this->db_connect_id = $dbselect;
|
||||
// }
|
||||
// }
|
||||
// return $this->db_connect_id;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return false;
|
||||
// }
|
||||
}
|
||||
|
||||
function prepare($sql)
|
||||
@ -180,9 +142,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*fermeture de connection
|
||||
* Fermeture de connection
|
||||
*
|
||||
* fonction qui ferme la connection a la base mysql
|
||||
* Fonction qui ferme la connection a la base mysql
|
||||
*
|
||||
* @return booléen
|
||||
*/
|
||||
@ -197,30 +159,16 @@ class mypdo extends Database
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// if($this->db_connect)
|
||||
// {
|
||||
// if(isset($this->query_result))
|
||||
// {
|
||||
// @mysql_free_result($this->query_result);
|
||||
// }
|
||||
// $result = @mysql_close($this->db_connect);
|
||||
// return $result;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return false;
|
||||
// }
|
||||
}
|
||||
|
||||
//
|
||||
// Base query method
|
||||
//
|
||||
//
|
||||
// Base query method
|
||||
//
|
||||
|
||||
/**
|
||||
*fonction de requete SQL
|
||||
* Fonction de requete SQL
|
||||
*
|
||||
* permet de faire une requete sur la connection mySQL ouverte
|
||||
* Permet de faire une requete sur la connection mySQL ouverte
|
||||
*
|
||||
* @param chaine Requete SQL
|
||||
* @param booléen inutilisé dans ce cas
|
||||
@ -230,15 +178,10 @@ class mypdo extends Database
|
||||
function sql_query($query = "", $data=false, $transaction = FALSE)
|
||||
{
|
||||
$query=Database::rewriteQuery($query);
|
||||
//echo $query."<br>";
|
||||
$GLOBALS["SYSTEM_NB_QUERY"]=(isset($GLOBALS["SYSTEM_NB_QUERY"]))?$GLOBALS["SYSTEM_NB_QUERY"]+1:1;
|
||||
// Remove any pre-existing queries
|
||||
// unset($this->query_result);
|
||||
if($query != "")
|
||||
{
|
||||
$this->num_queries++;
|
||||
// $this->query_result = $this->db_connect->query($query);
|
||||
|
||||
$this->query_result = $this->db_connect->prepare($query);
|
||||
if( !$data )
|
||||
$this->query_result->execute();
|
||||
@ -246,69 +189,31 @@ class mypdo extends Database
|
||||
$this->query_result->execute($data);
|
||||
}
|
||||
if(isset($this->query_result))
|
||||
// if (!$this->query_result = $this->db_connect->query($query))
|
||||
{
|
||||
// unset($this->row[$this->query_result]);
|
||||
// unset($this->rowset[$this->query_result]);
|
||||
return $this->query_result;
|
||||
}
|
||||
else
|
||||
{
|
||||
return ( $transaction == END_TRANSACTION ) ? true : false;
|
||||
}
|
||||
|
||||
// unset($this->query_result);
|
||||
// if($query != "")
|
||||
// {
|
||||
// $this->num_queries++;
|
||||
//
|
||||
// $this->query_result = @mysql_query($query, $this->db_connect_id);
|
||||
// }
|
||||
// if(isset($this->query_result))
|
||||
// {
|
||||
// unset($this->row[$this->query_result]);
|
||||
// unset($this->rowset[$this->query_result]);
|
||||
// return $this->query_result;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return @( $transaction == END_TRANSACTION ) ? true : false;
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
*Nombre de resultats retournés
|
||||
* Nombre de resultats retournés
|
||||
*
|
||||
*permet de récuperer le nombre de lignes retournées lors de la dernière requête effectuée.
|
||||
* Permet de récuperer le nombre de lignes retournées lors de la dernière requête effectuée.
|
||||
*
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
* @return entier nombre de résultats
|
||||
*/
|
||||
function sql_numrows($query_id = 0)
|
||||
{
|
||||
// if(!$query_id)
|
||||
// {
|
||||
// $query_id = $this->query_result;
|
||||
// }
|
||||
// if($query_id)
|
||||
// {
|
||||
// // $result = mysql_num_rows($query_id);
|
||||
// // echo $query_id->num_rows;
|
||||
// return $query_id->num_rows;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return false;
|
||||
// }
|
||||
|
||||
if(!$query_id)
|
||||
{
|
||||
$query_id = $this->query_result;
|
||||
}
|
||||
if($query_id)
|
||||
{
|
||||
// $result = @mysql_num_rows($query_id);
|
||||
// $result = $this->query_result->rowCount();
|
||||
return $query_id->rowCount();
|
||||
}
|
||||
else
|
||||
@ -318,9 +223,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Nombre d'enregistrements modifiés
|
||||
* Nombre d'enregistrements modifiés
|
||||
*
|
||||
* retourne le nombre d'enregistrements affectés par la derniere requete.
|
||||
* Retourne le nombre d'enregistrements affectés par la derniere requete.
|
||||
*
|
||||
* @return entier nombre d'enregistrements modifiés
|
||||
*/
|
||||
@ -328,11 +233,7 @@ class mypdo extends Database
|
||||
{
|
||||
if($this->query_result)
|
||||
{
|
||||
// $result = @mysql_affected_rows($this->db_connect);
|
||||
|
||||
$result = $this->query_result->rowCount();
|
||||
// var_dump("Result :");
|
||||
// var_dump($result);
|
||||
return $result;
|
||||
}
|
||||
else
|
||||
@ -342,14 +243,13 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Nombre de champs
|
||||
* Nombre de champs
|
||||
*
|
||||
* retourne le nombre de champs de la derniere requete effectuée
|
||||
* Retourne le nombre de champs de la derniere requete effectuée
|
||||
*
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
* @return entier nombre de champs
|
||||
*/
|
||||
|
||||
function sql_numfields($query_id = 0)
|
||||
{
|
||||
if(!$query_id)
|
||||
@ -368,9 +268,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Nom d'un champ
|
||||
* Nom d'un champ
|
||||
*
|
||||
* retourne le nom du champ placé a offset
|
||||
* Retourne le nom du champ placé a offset
|
||||
*
|
||||
* @param entier emplacement du champ
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
@ -394,9 +294,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Type d'un champ
|
||||
* Type d'un champ
|
||||
*
|
||||
* retourne le type du champ placé a offset
|
||||
* Retourne le type du champ placé a offset
|
||||
*
|
||||
* @param entier emplacement du champ
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
@ -420,9 +320,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Obtenir un résultat
|
||||
* Obtenir un résultat
|
||||
*
|
||||
* retourne l'enregistrement courant sous forme de tableau
|
||||
* Retourne l'enregistrement courant sous forme de tableau
|
||||
*
|
||||
* @param entier facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
* @return tableau tableau contenant les différents champs
|
||||
@ -438,19 +338,17 @@ class mypdo extends Database
|
||||
if($query_id)
|
||||
{
|
||||
$query_id->setFetchMode(PDO::FETCH_BOTH);// Mode par défaut (tableau)
|
||||
// var_dump($query_id);
|
||||
// $this->row[$query_id] = @mysql_fetch_array($query_id);
|
||||
$this->row = $query_id->fetch();
|
||||
// var_dump($this->row);
|
||||
return $this->row;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*Obtenir tous les résultats
|
||||
* Obtenir tous les résultats
|
||||
*
|
||||
* retourne tous les enregistrements courants (derniere requete effectuée) sous forme de tableau
|
||||
* Retourne tous les enregistrements courants (derniere requete effectuée) sous forme de tableau
|
||||
*
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
* @return tableau_2D tableau à deux dimensions contant tous les enregistrement
|
||||
@ -464,9 +362,6 @@ class mypdo extends Database
|
||||
if($query_id)
|
||||
{
|
||||
$query_id->setFetchMode(PDO::FETCH_BOTH);// Mode par défaut (tableau)
|
||||
// unset($this->rowset[$query_id]);
|
||||
// unset($this->row[$query_id]);
|
||||
// while($this->rowset[$query_id] = @mysql_fetch_array($query_id))
|
||||
while($this->rowset = $query_id->fetch())
|
||||
{
|
||||
$result[] = $this->rowset;
|
||||
@ -477,11 +372,10 @@ class mypdo extends Database
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*Obtenir un champ particulier d'un resultat
|
||||
* Obtenir un champ particulier d'un resultat
|
||||
*
|
||||
* retourne un champ déterminé d'un enregistrement déterminé .
|
||||
* Retourne un champ déterminé d'un enregistrement déterminé .
|
||||
*
|
||||
* @param entier (ou chaine) champ a renvoyer
|
||||
* @param entier (facultatif) identifiant de l'enregistrement (dernier par defaut)
|
||||
@ -529,11 +423,10 @@ class mypdo extends Database
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*Déplacement de pointeur de résultat
|
||||
* Déplacement de pointeur de résultat
|
||||
*
|
||||
* permet de déplacer le pointeur de résultat.
|
||||
* Permet de déplacer le pointeur de résultat.
|
||||
*
|
||||
* @param entier ligne
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
@ -556,9 +449,9 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Identifiant d'insertion
|
||||
* Identifiant d'insertion
|
||||
*
|
||||
* permet d'obtenir l'identifiant d'insertion (Requete INSERT)
|
||||
* Permet d'obtenir l'identifiant d'insertion (Requete INSERT)
|
||||
*
|
||||
* @return entier identifiant
|
||||
*
|
||||
@ -566,7 +459,6 @@ class mypdo extends Database
|
||||
function sql_nextid(){
|
||||
if($this->db_connect)
|
||||
{
|
||||
// $result = @mysql_insert_id($this->db_connect);
|
||||
$result = $this->db_connect->lastInsertId();
|
||||
return $result;
|
||||
}
|
||||
@ -577,67 +469,17 @@ class mypdo extends Database
|
||||
}
|
||||
|
||||
/**
|
||||
*Liberer l'espace mémoire
|
||||
* Fonction d'erreur
|
||||
*
|
||||
* permet de liberer la memoire occupée par le pointeur de résultat
|
||||
*
|
||||
* @param entier (facultatif) identifiant de requete , utilise la dernière requete par defaut
|
||||
* @return booléen effectué avec succès
|
||||
*/
|
||||
// function sql_freeresult($query_id = 0){
|
||||
// /* renvoi une erreur auto */
|
||||
// // if( !$query_id )
|
||||
// // {
|
||||
// // $query_id = $this->query_result;
|
||||
// // }
|
||||
// //
|
||||
// // if ( $query_id )
|
||||
// // {
|
||||
// // // unset($this->row[$query_id]);
|
||||
// // // unset($this->rowset[$query_id]);
|
||||
// // // mysql_free_result($query_id);
|
||||
// // $this->query_result->free_result();
|
||||
// // return true;
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // return false;
|
||||
// // }
|
||||
//
|
||||
// if(!$query_id)
|
||||
// {
|
||||
// $query_id = $this->query_result;
|
||||
// }
|
||||
//
|
||||
// if ( $query_id )
|
||||
// {
|
||||
// // unset($this->row[$query_id]);
|
||||
// // unset($this->rowset[$query_id]);
|
||||
//
|
||||
// // @mysql_free_result($query_id);
|
||||
// $this->query_result->free_result();
|
||||
//
|
||||
// return true;
|
||||
// }else{
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
*Fonction d'erreur
|
||||
*
|
||||
* retourne un tableau contenant le numero et le message d'erreur
|
||||
* Retourne un tableau contenant le numero et le message d'erreur
|
||||
*
|
||||
* @return tableau contenant les index ['message'] et ['code']
|
||||
*/
|
||||
|
||||
function sql_error($query_id = 0)
|
||||
{
|
||||
$result["message"] = @mysql_error($this->db_connect);
|
||||
$result["code"] = @mysql_errno($this->db_connect);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user