begin process at 2012 05 31 05:35:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Class et Objet ( POO )

 > 

Parametre de ma classe connexion et connexion/deconnexion


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Parametre de ma classe connexion et connexion/deconnexion

mardi 25 mars 2003 à 17:04:07 | Parametre de ma classe connexion et connexion/deconnexion

sebos63

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 : !!!<br>" . $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;
}

}

mardi 25 mars 2003 à 18:27:56 | Re : Parametre de ma classe connexion et connexion/deconnexion

Tortuegeniale


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


-------------------------------
Réponse au message :
-------------------------------

> 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 : !!!<br>" . $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;
> }
>
> }
>
>


Cette discussion est classée dans : db, connexion, var, classe, orange


Répondre à ce message

Sujets en rapport avec ce message

Classe Connexion.php la plus simple possible .... [ par Tartuffe245 ] Bonjour à tous,J'ai créé une classe connexion pour mon site internet et il se trouve que j'ai une erreur qui revient souvent mais je ne sais pas comme inclusion d'une classe provenant d'un autre fichier [ par lilippx ] salut, je me suis mis au php ce matin mais je bute sur un petit truc (dès le premier jour, ce n'est pas motivant...)je n'arrive pas à instancier un ob Classe d'accès à une base de données [ par MadM@tt ] Bonjour à tous,Voilà j'ai réalisé une classe de connexion à une base de données.Seulement maintenant, pour l'utiliser, je suis face à un choix sur leq Classe de gestion ftp: problème de passage de valeur? [ par spoutch ] Bonjour tout le monde ou tout du moins a ceux qui daignerons lire mon poste ^^Je travail en local sur le serveur Apache de wamp. A partir d'une source pb avec ma classe [ par windu ] voila, j'utilise 1 classe de connexion (MySQL), classe que j'appelle dasn mon fichier de connexion à la base. tout va bien il me suffit d'inclure ce f suppression [ par g_marvin ] bonjour,j 'ai un menu déroulant et je voudrais supprimer dans ma table l'enregistrement selectionner !!!!!!!!voici mon code: < objet sqlite [ par jackrichard ] bonjour a tousdésolé si la question est con mais bon la je pige pas sur un livre de php on me dit que php5 propose la classe sqlite_db mais kan j'essa affichage de la base mysql dans un tableau [ par midos ] MiDo§bonjour,j'ai un petit probleme d'afficher dans un tableau ma base que j'ai créer avec mysql le nom de ma base c 'clients' et le nom de la table q PhP et Hyperfile impossible de se connecter... [ par triplessman ] Salut a tous voila j'ai une petite question pas très compliqué pour certain je pense.Je fais une une appli en windev pour mon BTS. J'utilise une bdd s Un Problémme assez Bizzard [ par kechidasamir ] Voila je veux crée un espace securise pour mon site web en PHP/MySQL mais le problemme ce situe dans le faite que je suis obliger de recupere les vale


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales