1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <?php
class mysqli {
// Définition des variables internes
var $_con = 0;//Pour la connexion
var $_res = 0;//Pour le resultat
var $_res_data = Array(); // Resultat
var $_nbres = 0; //Nombre de réponse
var $_err = ""; // Pemet l'affichage des erreurs
var $_debug_sql = 0; //Pour le debug :)
//Construteur de la classe
function mysqli($_host,$_user="www",$_password="",$_db) {
// Se connect en mode persistent et n'affiche pas les erreurs (@ devant la fonction)
$this->_con = @mysql_pconnect($_host, $_user, $_password) or die("Impossible de se connecter a $_host");
mysql_select_db($_db) or die("Impossible d'ouvrir la base de donnee $_db");
}
//Active le debug
function setDebug() {
$this->_debug_sql = 1 ;
echo "debug Activé<br>";
}
//Execute un requete
function query($_sql) {
if($this->_debug_sql) echo "Requete : $_sql <br>";
mysql_free_result ($this->_res);//Dans le cas ou d'autre requete on déja été effectué
$this->_res=@mysql_query($_sql,$this->_con);
if(!$this->_res) {//Erreur
$this->_err = "Erreur sur la requete : $_sql <br>Réponse : ".mysql_error()."<br>";
if($this->_debug_sql) echo $_err;//On affiche l'erreur
} else if(!$_nbres = mysql_num_rows($this->_res)) return 0;//S'il n y a pas de résultat
else if($this->_debug_sql) echo "Nombre de réponse : $_nbres<br>";// Si il y en a alors on affiche le nombre
else return $this->_res;
}
//Recupere le resultat d'une ligne
function fetch_assoc() {
if(!$this->_res) return 0;//Erreur de la requete
$this->_res_data=mysql_fetch_array($this->_res);//On met le resultat d'une ligne dans un tableau
return $this->_res_data;
}
//Affiche la valeur d'un champ
function field($f) {
return($this->_res_data[$f]);
}
//Recupère le nom des champs
function getInfoTable() {
if(!$this->_res) return 0;
$_nbfield = mysql_num_fields($this->_res);//Nombre de champs de la requete
if(!$_nbfield) $this->_err = "Erreur lors du comptage de champ ".mysql_error()."<br>";
if($this->_debug_sql)
if(!$_nbfield) echo $this->_err;
else echo "Nombre de champs : $_nbfield <br>";
for($zz=0;$zz<$_nbfield;$zz++) $_fields[]=@mysql_field_name($this->_res,$zz);
return $_fields;
}
}
?> |
Partager