cs_lord1366
Messages postés20Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention27 novembre 2009
-
17 mars 2009 à 17:46
cs_lord1366
Messages postés20Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention27 novembre 2009
-
17 mars 2009 à 23:20
Bonjour,
Je précise que j'apprends l'objet, que dans cette exemple si je fais un if celà fonctionne très bien -> donc peut-être un futur code source, mais le soucis est sur la génération d'une liste de résultat.
Dans l'exemple en dessous, ça ne doit retourner que 2 résulats :
titre 1
titre 2
mais là j'ai titre 2titre 2titre 2titre 2titre 2titre 2titre 2titre 2
mais pas titre 1.
Voici un objet pour se 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 :
/*
*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");
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 mars 2009 à 20:10
Hello,
tu refais un mysql_query() à chaque appel de ta méthode CConnectDB_Request::ResquestReturnType(). Donc tu changes de ressources systématiquement avec la même requête, donc tu boucles.