Bonjour,
Je souhaite me lancer réellement dans la POO en php.
Je cherche à créer une class de connexion, à une BDD de type inconnu pour PHP, qui va gérer l'ouverture d'une connexion, l'exécution d'une requête et la fermeture d'une connexion à une base (via source de données ODBC).
Je n'arrive pas à trouver un tutoriel clair qui traite du sujet (je ne trouve que pour MySql). Je ne souhaite pas trouver un code tout fait car je veux comprendre le principe et avoir un code propre et minimaliste.
J'ai fais un petit essaie mais il n'est pas concluant et je dois avouer que je ne comprend pas ce qui cloche.
La class (elle ne gère que la connexion pour le moment, j'avance pas à pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?PHP class cnxOdbc { private $cnxHost; private $cnxUser; private $cnxPass; function __construct ($host,$user,$pass) { $this->cnxHost = $host; $this->cnxUser = $user; $this->cnxPass = $pass; } function connexion () { odbc_connect($this->cnxHost, $this->cnxUser, $this->cnxPass) or die('<P align="center"><FONT color="red">Impossible de se connecter au serveur</FONT></P><BR>'); } function deconnexion () { odbc_close(); } } ?>
La page où j'instancie cette class et tente une requête simple.
Il me retourne cette erreur : Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in C:\wamp\www\test\test.php on line 8
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?PHP REQUIRE_ONCE('libs/connexion.class.inc'); $cnx = new cnxOdbc('source','user','pass'); $cnx->connexion(); $rqtTest = odbc_exec($cnx,'SELECT libelle FROM uneTable WHERE ID = 123'); ECHO odbc_result ($rqtTest, 'libelle'); ?>
Au final j'aimerai que cette class gère la totalité de l'accès aux données de mon projet. Elle devra prendre en charge :
- Ouverture d'une connexion
- Exécution de requête (INSERT/UPDATE, SELECT, DELETE) passé en paramètre
- Renvoie du résultat dans une variable array afin de ne manipuler que cette variable (ça aussi c'est pas gagné -_-)
- Fermeture de la connexion
Pour le moment mon projet fonctionne mais il n'est pas du tout objet .
Auriez-vous une référence simple pour m'aider à comprendre le principe ?
Partager