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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| <?php
/**
* Fichier sql.class.php
* Classe héritant de la classe php mysqli
**********************************************************************************
* Création le 23/10/2008
* Auteur : Shadow
* Dernière modification le 23/10/2008 par Shadow
*/
class sql extends MySQLi
{
/**
* DEFINITION DES VARIABLES INTERNES SUPPPLEMENTAIRES
*/
/**
* CONSTRUCTEUR
* il définit les variables $host, $login, $passwd et $db afin de créer l'objet (celles-i peuvent être modifiées lors de la création de la base)
* il utilise le constructeur de la classe MySQLi
*
* @param $host
* @param $login
* @param $passwd
* @param $db
*/
public function __construct($host = '', $login = '', $passwd = '', $db = '')
{
parent::__construct($host, $login, $passwd, $db);
$connected = $this->is_connected(); //on vérifie que la connexion a réussie
}
/**
* RECUPERATION D'UNE REQUETE DYNAMIQUE
* la fonction récupère la requête dynamique au format sprintf ainsi que la variable ou le tableau de variables
* lors de l'appel de la fonction, on précise si on veut échapper les variables chaines ou pas (0 pour non, 1 pour oui)
*
* @param $request
* @param $dvars
* @param $escape_strings
*/
public function do_query($request = '', $dvars = array(), $escape_strings = 0)
{
if (empty($request)) //on regarde si on a une requête ou non
{
//on affiche une erreur si la requête est vide
echo 'Aucune requête à exécuter ...';
//on renvoie FALSE
return FALSE;
}
else
{
if (count($dvars) > 0) //on regarde si on a des variables
{
if ($escape_strings == 1) //si $escape_strings est à 1 on parcourt le tableau de variables pour les échapper
{
for ($i = 0; $i < count($dvars); $i++)
{
$dvars[$i] = $this->real_escape_string($dvars[$i]);
}
}
//on crée la requête
$query = vsprintf($request, $dvars);
//on exécute la requête
$result = $this->query($query);
}
else
{
//sinon on exécute la requête directement
$result = $this->query($request);
}
if ($this->errno) //on regarde si on a eu une erreur lors de l'exécution de la requête
{
// on affiche l'erreur
echo 'Il y a eu une erreur lors de l\exécution de la requête : '.$this->error;
//on renvoie false
return FALSE;
}
else
{
//on retourne le résultat de la requête
return $result;
}
}
}
/**
* VERIFICATION DE LA CONNEXION
* la fonction regarde si il n'y a pas eu d'erreur de connexion (ce qui veut dire que celle-ci a réussie)
*/
public function is_connected()
{
if ($this->connect_errno) //on regarde si il y a une erreur de connexion à la base de données
{
echo 'Erreur lors de la connexion à la base de données : '.$this->connect_error; //si il y en a une on afficle l'erreur
return FALSE; //on retourne false
}
else //si il n'y a pas d'erreur de connexion on retourne TRUE
{
return TRUE;
}
}
}
?> |
Partager