Classe gestion Mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Classe gestion Mysql

par NoNos » 22 nov. 2007, 13:45

En effet si le masque les erreurs je vais avoir des soucis.

Je teste dès que possible et je mets un résolu.

par Jules Petibidon » 21 nov. 2007, 14:25

Hello,

Dans un premier temps, si tu enlevais les @ devant les fonctions mysql, tu aurais peut-être déja des messages d'erreur un peu plus parlants.

Chercher des erreurs en les masquant, c'est plus compliqué...

par Maitrepylos » 21 nov. 2007, 08:57

Bonjour,

si tu es en php5, je ferais plus comme ceci :
<?php
class MySQL {
	private $serveur;
	private $utilisateur;
	private $password;
	private $bd;
	private $connection_SQL;
	private $resultat;
	private $connection_ok;
	private $erreur;
	private $debug;
	private $op_OK;

	//contructeur
	function __construct($serveur, $utilisateur, $password, $bd, $debug)
	{
		//init de mes privateiable
		$this->serveur = $serveur;
		$this->utilisateur = $utilisateur;
		$this->password = $password;
		$this->bd = $bd;
		$this->debug = $debug;
		
		$this->Connection();
	}

	function Connection()
	{
		if ($this->connection_ok == 0)
		{
			$this->connection_SQL = @mysql_connect($this->serveur,
			$this->utilisateur,
			$this->password
			);
			
			echo $this->connection_SQL;
			
			if (! $this->connection_SQL)
			{
				$this->Mysql_erreur();
			}
			
			else
			{
				$this->Select_bd();
			}
		}
	}

	function Mysql_erreur()
	{
		if ($this->debug)
		{
			$this->erreur = @mysql_error($this->connection_SQL);
		}

		$this->op_OK = false;
	}
}

?>

Le question serait, "tu es sur que la variable $this->debug est initialisé à true"?

Classe gestion Mysql

par NoNos » 19 nov. 2007, 03:21

Bonjour

J'espere que mon poste trouvera sa place ici

Je tente de développer une classe qui me servira d'interface afin d'executer mes requete SQL

Je rencontre un problème dans l'interception des erreurs de connection.

Voila la partie du code concerné :
class MySQL {
  var $serveur;
  var $utilisateur;
  var $password;
  var $bd;
  var $connection_SQL;
  var $resultat;
  var $connection_ok;
  var $erreur;
  var $debug;
  var $op_OK;
  
  //contructeur
  function __construct($serveur, $utilisateur, $password, $bd, $debug){
      //init de mes variable
      
      $this->Connection();
  }
 
  function Connection(){
    if ($this->connection_ok == 0){
      $this->connection_SQL = @mysql_connect($this->serveur,
                                             $this->utilisateur,
                                             $this->password
                                            );
      echo $this->connection_SQL;
      if (! $this->connection_SQL){
        $this->Mysql_erreur();
      }
      else {
        $this->Select_bd();
      }
    }
  }
 
  function Mysql_erreur(){
    if ($this->debug){
      $this->erreur = @mysql_error($this->connection_SQL);
    }
    $this->op_OK = false;
  }
}
Le problème survient quand ma base SQL est arête, la fonction Mysql_erreur() n'alimente pas ma variable erreur

Si vous avez des remarques sur ma manière de procéder n'hesitez pas je me lance dans l'objet et toute remarque pourai m'aider