<?php
/*!
@copyrights b23|prod:Tiana Bruno RAKOTOARIMANANA - 2004 (all rights reserved to author)
@author Tiana Bruno RAKOTOARIMANANANA
@date Sat Sep 18 15:43:44 CEST 2004 @613 /Internet Time/
@filename php_SQL.class.inc
*/
if(!isset($classeSQL)) {
$classeSQL = 1;
class SQL {
var $connexion; // flux vers SQL
var $serveur;
var $base;
var $tables; // array des tables utilisees dans cette connexion vers une base SQL
var $utilisateur;
var $mdp;
function SQL($serveur, $base, $utilisateur, $mdp) {
$this->base = $base;
$this->utilisateur = $utilisateur;
$this->mdp = $mdp;
$this->serveur = $serveur;
$this->connexion =& $this->connect(TRUE);
$resultat = mysql_list_tables($this->base, $this->connexion);
if($resultat) {
for($i=0; $i < mysql_num_rows($resultat); $i ++) {
$this->tables[$i] = mysql_tablename($resultat, $i);
}
}
}
/*---- partie privée ----*/
function connect($p=FALSE) {
if($p) $connexion=mysql_pconnect($this->serveur,$this->utilisateur,$this->mdp);
else $connexion=mysql_connect($this->serveur,$this->utilisateur,$this->mdp,true,MYSQL_CLIENT_SSL);
if(!$connexion) {
echo "Impossible de se connecter au serveur".$this->serveur."!";
echo "Erreur Mysql: ". mysql_error();
exit;
}
if (!mysql_select_db($this->base,$connexion)) {
echo "Impossible de se connecter à la base ".$this->base."!";
echo "Erreur MySql: " . mysql_error();
exit;
}
return $connexion;
}
/*---- partie publique ----*/
function query($string) {
return mysql_query($string,$this->connexion);
}
function changeUtilisateur($nom, $mdp, $base = -1) {
if($base == -1) $base = $this->base;
if(mysql_change_user($nom, $mdp, $base, $this->connexion) > 0) return TRUE;
else {
echo "Impossible de changer d'utilisateur!";
echo "<BR>Erreur MySQL: ".mysql_error();
return FALSE;
}
}
/*---- méthodes de base BEGIN ----*/
/* méthodes ligne suivante BEGIN */
function ligneSuivante(&$resultat) {
if(is_resource($resultat))
return mysql_fetch_row($resultat);
else return FALSE;
}
function ligneSuivante_Array(&$resultat) {
if(is_resource($resultat))
return mysql_fetch_array($resultat);
else return FALSE;
// return mysql_fetch_array($resultat, MYSQL_ASSOC);
// return mysql_fetch_array($resultat, MYSQL_BOTH);
// return mysql_fetch_array($resultat, MYSQL_NUM);
}
function ligneSuivante_Object(&$resultat) {
if(is_resource($resultat))
return mysql_fetch_object($resultat);
else return FALSE;
}
/* ligne suivante END */
function lignesAffectees() {
return mysql_affected_rows($this->connexion);
}
function selectLigne(&$resultat, $n) {
if(is_resource($resultat))
return mysql_data_seek($resultat, $n);
else return FALSE;
}
/*---- méthodes de base END ----*/
function close() {
return mysql_close($this->connexion); // fermeture de la connexion persistante (mysql_pconnect)
}
}
}
?>