Bonjour,

Voici un d'objet pour ce connecter aux différentes bases de données avec possibilité d'envoyer la requête avec une autre méthode et d'obtenir le retour (actuellement qu'avec mysql)

Objet :
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
 
/*
	*Objet permettant la connection a toutes les bases de donnees selon
	*$Type_Db :
	*
	*
	*			1 -> Mysql
	*			2 -> MSSQL
	*			3 -> Oracle
	*			4 -> PostgreSQL
	*/
 
	class CConnectDB_Request
	{
 
	var $Server;
	var $Port = '3306';
	var $Login;
	var $Pass;
	var $Database;
	var $Type_Db;
	var $Connect;
 
		function TypeDataBase()
		{
			switch($this->Type_Db)
			{
				//MySQL
				case 1:
				$this->Connect = mysql_connect($this->Server.":".$this->Port,$this->Login,$this->Pass) or die("Connexion au serveur MySQL impossible");
 
				mysql_select_db($this->Database) or die("Connexion a la Base MySQL ".$this->Database." impossible");
 
				break;
 
				//SQL Serveur
				case 2:
				$this->Connect = odbc_connect($this->Server,$this->Login,$this->Pass) or die("Connexion au serveur MSSQL impossible");
 
				break;
 
				//Oracle Serveur
				case 3:
				$this->Connect = oci_connect($this->Login,$this->Pass,$this->Database) or die("Connexion au serveur Oracle impossible");
 
				break;
 
				//PostegreSQL Serveur 
				case 4:
				$this->Connect = pg_connect("host=".$co_req->Server." port=".$this->Port." dbname=".$this->Database." user=".$this->Login." password=".$this->Pass."") or die("Connexion au serveur PostegreSQL impossible");
 
				break;
			}
		}
 
 
		function RequestReturnType($Req,$TypeRetour="")
		{
 
			switch($this->Type_Db)
			{
				//MySQL
				case 1:
 
				$Result = mysql_query($Req) or die("Erreur dans la requete MySQL");
 
				if($TypeRetour != "")
				{
				$function = "mysql_".$TypeRetour;
 
				$Result = $function ($Result);
				}
				else
				$Result = mysql_fetch_assoc($Result);
 
				return $Result;
 
				break;
 
				//SQL Serveur
				case 2:
 
				odbc_commit($this->Connect);
 
				$Result = odbc_exec($this->Connect,$Req) or die("Erreur dans la requete MSSQL");
 
				return $Result;
 
				break;
 
				//Oracle Serveur
				case 3:
 
				//oci_commit($this->Connect);
 
				$Req = oci_parse($this->Connect, $Req); //prepare la requete
				$Result = oci_execute ($Req) or die("Erreur dans la requete Oracle");
 
				return $Result;
 
				break;
 
				//PostegreSQL Serveur
				case 4:
 
				$Result = pg_query($this->Connect, $Req) or die("Erreur dans la requete PostegreSQL");
 
				return $Result;
 
				break;
			}
		}
 
		function CloseDb()
		{
			mysql_close($this->Connect);
		}
 
	}
Mon appel avec un while qui boucle à l'infini :
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
 
$co_req = new CConnectDB_Request;
 
	$co_req->Server = "127.0.0.1";
	$co_req->Login = "root";
	$co_req->Pass = "toto";
	$co_req->Database = "toto";
	$co_req->Type_Db = 1; //MySQL
 
	$co_req->TypeDataBase();
 
$VerifConnect = "SELECT * ";
	$VerifConnect .= "FROM utilisateurs U ";
	$VerifConnect .= "WHERE U.login_utilisateur = '".$login."' AND U.pass_utilisateur = '".$pass."' ";
 
	while($ResVerifConnect = $co_req->RequestReturnType($VerifConnect,"fetch_object"))
	{
		echo $ResVerifConnect->id_utilisateur;
 
	}
Merci pour votre aide