Je suis un être buté et j'insiste pour developper mon site actuel entièrement en POO. alors j'ai une DB qui a une table "experience", j'ai donc une classe experience.php avec un constructeur, des proriétés privés, des getter et des setter pour chaque propriété etc....
je construis une classe DAO pour chaqu'un de ces objets, dans ce cas ci elle s'appelle MysqlExperienceDAO.php. cette classe utilise un objet connexion pour se connecter a ma DB et en outre elle possede une fonction pour chaque operation SQL sur la table experience(delete, select etc...). vous suivez....
donc ma fonction connexion de mon DAO est la suivante :
ce qui vous l'aurez compris appelle le constructeur de ma classe connexion qui est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 require_once('config/constantes.php') //pour CVDB require_once('class/connexion.php') .../... function getConnexion(){ $con = new connexion(CVDB); return $con; } .../...
pour info connectToServer() ressemble a ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function connexion($db) { $newcon->host = $this->setHost(HOST); $newcon->login = $this->setLogin(LOGIN); $newcon->pwd = $this->setPwd(PWD); $newcon->db = $this->setDB($db); $newcon->connexion = $this->setConnexion($this->connectToServer()); $this->connectToDB(); return $newcon; }
et connectToDB() ressemble a ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function connectToServer() { //connection a la base de données retourne un objet connexion vers database $connexion = mysql_connect($this->getHost(),$this->getLogin(),$this->getPwd())or exit(mysql_error()); if ($connexion){ echo ("connexion vers le SGBD Etablie !!!!!"); /*DEBUG ONLY*/ return $connexion; }else { echo ("un probleme a ete rencontre, la connexion vers le SGBD n\'a pas pu être etablie"); /*DEBUG ONLY*/ return false; } }
mais voila quand mon fichier de test nomme testsql.php appelle mon DAO qui appelle ma connexion ca fait ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function connectToDB(){ //selection de la base de données mysql_select_db ($this->getDB(), $this->getConnexion())or exit(mysql_error()); echo " connexion a la base ".$this->getDB()." ok"; //DEBUG ONLY }
qu'en pensez vous, probleme de connexion ??? oui pour sûr car si je remplace la fonction connexion de mon DAO par un acces direct comme ca :Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in E:\WEB\fksite\class\MysqlExperienceDAO.php on line 90
Ca marche Nickel !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function getConnexion(){ $con = mysql_connect('localhost','monlogin','monmotdepasse'); mysql_select_db("curriculum", $con); //CVDB = curriculum return $con; }
Bon vraiment pardon pardon pour la longueur a cette heure ci mais comment puis-je expliquer autrement !!!
ET Surtout WHY ???
Wdionysos
Partager