Parametre de ma classe connexion et connexion/deconnexion

cs_sebos63 Messages postés 6 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 12 septembre 2003 - 25 mars 2003 à 17:04
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008 - 25 mars 2003 à 18:27
Bonjour,

1. J'ai une classe de connexion et je souhaiterais savoir où il est judicieux de spécifier les paramètres d'une connexion. (Dans mon constructeur ou dans un fichier?)
2. Vaut-il mieux ouvrir sa connexion en tout début de script PHP et la fermer à la clôture du script?
Ou la gérer au niveau des classes, cad, dans la méthode de ma classe maClasse, ouvrir la connexion, exécuter la requête et récupérer le résultat dans une variable, fermer la connexion partie en orande dans 2.?
Dans le 1er cas je monopolise une ressources mais ne fais qu'une connexion et dans l'autre je libère les ressources mais me connecte plusieurs fois (ralenti l'affichage)

1.
class Connexion{

/* Liste des propriétés de la classe */

var $host;
var $db;
var $user;
var $pwd;
var $db_link;

/* Constructeur de la classe */

function ConnexionMySQL(){

$this->host = "host";
$this->db = "db";
$this->user = "user";
$this->pwd = "pwd";

}

/* Méthodes de la classe */

function connect_db(){

$this->db_link = mysql_connect($this->host,$this->user,$this->pwd);
$selectDB = mysql_select_db($this->db,$this->db_link);

if ( ! $this->db_link )
die ("!!! Erreur : impossible de se connecter au serveur de base de données MySQL sur "" . $this->host . "" !!!");

if ( ! $selectDB )
die ("!!! Erreur : impossible de se connecter à la base "" . $this->db . "" !!!");

return ($this->db_link);

}

function disconnect_db(){

$result = mysql_close($this->db_link);
$this = null;

}

function execute($arg){

$result = mysql_query($arg,$this->db_link) or die ("!!! Erreur de syntaxe sur la requête suivante : !!!
" . $arg);
return ($result);

}

}

2.

class Acces {

var $id;
var $lib;

function Acces($arg){
$this->id=$arg;
}

function selectId(){

$cnx = new Connexion();
$cnx->connect_db();
$query = "select * from TRUC ";$query ."where TRUC_ID " . $this->id ;
$result = $cnx->execute($query);
$cnx->disconnect_db();

if ( mysql_num_rows($result)) {
$row = mysql_fetch_object($result);
$this->lib=($row->TRUC_LIB);
$retval = true;
}
else
$retval = false;

return $retval;
}

}

1 réponse

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
25 mars 2003 à 18:27
salut

Pour moi le plus simple c de mettre ça dans un fichier et d'ouvrir la connexion juste au moment ou t'en a besoin.

Tu n'as pas besoin de fermer ta connexion puisqu'elle se ferme dés le chargement de la page terminé, il faut la fermer juste quand tu utilise mysql_pconnect.

Pour ta solution d'ouvrir, d'aller chercher et de fermer plusieur fois dans la page moi perso je trouve ça lourd lol

++

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
Rejoignez-nous