[Class SQL] $this ou Link Identifier

Petit nouveau ! | 3 Messages

11 août 2007, 21:44

Tout d'abord, bonjour à tous :)

Je suis pour le moment sur la création d'une classe SQL pour gérer plus facilement mes erreurs toussa²

Mon problème est assez simple ... je pense. Pour les doubles connexions, PHP propose un "link indentifier" comme paramètre dans une fonction, mais il propose aussi le $this -> ...

J'aimerais dès lors savoir, comment gérer ses fonctions. Je suis partit sur base du $this, ne sachant pas si dans "$SQL -> mysql_query('REQUETE');", $SQL serait repris comme Link Identifier.

Voici un bout de code pour illustrer mes propos peut-être incompréhensible \o/
		public function ConnexionSimple($Hostname, $Username, $Userpass)
		{
			if ($AcceptConnexion == true)
			{
				if ($this -> mysql_connect($Hostname, $Username, $Userpass))
				{
					$this -> Information('Connexion au serveur réussis');
				}
				else
				{
					$this -> Erreur('La connexion au serveur a échoué');
				}
			}
			else
			{
				$this -> Erreur('Connexion impossible : L\'utilisateur a désactivé la connexion SQL');
			}
		}
Ma question vient surtout du $this -> mysql_connect() donc :)

J'espère avoir été clair ^^

Merci d'avance :o

Mammouth du PHP | 1511 Messages

12 août 2007, 00:09

Dans le cas présent, crée un variable dans la classe dans le genre suivant:
<?php
class sql {
var $mysql_link;
public function connexion($server, $user, $pass) {
$this->mysql_link = mysql_connect($server, $user, $pass);
}
public function query($query) {
return mysql_query($query, $this->mysql_link);
}
}
?>
La variable sql::connexion contiendra donc ta connexion dans ta classe qui sera utilisée de la facon suivante:
$sql = new sql();
$sql->connexion('host', 'user', 'pass');
$sql->query('SELECT * FROM table');
/* etc */