Location: PHPKode > projects > COWeb (Common Objects for Web) > coweb-0.4.1/include/databases.inc.php
<?

// Module de gestion des bases de données MySql et Sybase
// Ecrit par Sébastien DIAZ
// Distribue sous license GPL


if (! defined("DB"))
{
	define("DB",1);

	class db
	{
		var $host;                    // Adresse du serveur de base de données
		var $port;                    // Port du serveur de base de données
		var $database;                // Nom de la base
		var $login;                   // Login de la base
		var $password;                // Mot de passe de la base
		var $row;                     // Pointeur sur ligne en cours d'une requête
		var $result;                  // Pointeur sur le resultat d'une requête
		var $id;                      // Pointeur sur id de connection
		var $type;                    // Type de base (mysql, sybase ...)

	function db($h, $p, $d, $l, $pw, $t)
	// Constructeur
	{
		$this->host=$h;
		$this->port=$p;
		$this->database=$d;
		$this->login=$l;
		$this->password=$pw;
		$this->type=$t;
	}

	function Connect()
	// Connection a la base de données
	{
		if($this->type == 'mysql')
		{
			$this->id=mysql_connect($this->host.':'.$this->port, $this->login, $this->password)
			or die ("Impossible de se connecter au serveur Mysql");
			mysql_select_db($this->database)
			or die ("Impossible de se connecter a la base de donnees : ".$this->database);
		}

		else if ($this->type == 'sybase')
		{
			$this->id=sybase_connect($this->host, $this->login, $this->password)
			or die ("Impossible de se connecter au serveur Sybase");
			sybase_select_db($this->database, $this->id)
			or die ("Impossible de se connecter a la base de donnaes : ".$this->database);
		}
	}

	function Query($sql)
	// Exécute une requête
	{
		if($this->type == 'mysql') $this->result=mysql_query($sql, $this->id)
		or die("La requete a echouee");

		else if ($this->type == 'sybase') $this->result=sybase_query($sql, $this->id)
		or die("La requête a echouee");
	}

	function Fetch()
	// Lit la ligne suivante
	{
		if($this->type == 'mysql')
		{
			if($this->row = @mysql_fetch_array($this->result) ) return true;
			return false;
		}

		else if ($this->type == 'sybase')
		{
			if($this->row = @sybase_fetch_array($this->result) ) return true;
			return false;
		}
	}

	function FetchObject()
	// Lit la ligne suivante dans un objet
	{
		if($this->type == 'mysql')
		{
			if($this->row = @mysql_fetch_object($this->result) ) return true;
			return false;
		}

		else if ($this->type == 'sybase')
		{
			if($this->row = @sybase_fetch_object($this->result) ) return true;
			return false;
		}
	}
	
	function Free()
	// Libère la mémoire occupée par le résultat
	{
		if($this->type == 'mysql')
		{
			mysql_free_result($this->result);
		}
		else if ($this->type == 'sybase')
		{
			sybase_free_result($this->result);
		}
	}

	function Close()
	// Ferme la connection à la base de données
	{
		if($this->type == 'mysql') mysql_close($this->id);
		else if ($this->type == 'sybase') sybase_close($this->id);
	}

	function NbrRows()
	// Renvoi le nombre de lignes d'un requête SELECT
	{
		if($this->type == 'mysql') return mysql_num_rows($this->result);
		else if ($this->type == 'sybase') return sybase_num_rows();
	}

	function NbrAffect()
	// Renvoi le nombre de lignes affectées par une INSERT, UPDATE ou DELETE
	{
		if($this->type == 'mysql') return mysql_affected_rows($this->id);
		else if ($this->type == 'sybase') return sybase_affected_rows($this->id);
	}
	}
}
?>
Return current item: COWeb (Common Objects for Web)