Classe Sql

Introduction



La classe SQL permet d'effectuer des requêtes dans la base de données. Son principal intérêt est qu'il y a une classe SQL par [url=http://fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données]Système de Gestion de Base de Données[/url] (SGBD) et on utilise celle correspondant au SGBD de l'utilisateur.



Pourquoi utiliser cette classe ?



PHPBoost supportant différents SGBD, il doit contenir un objet permettant la liaison avec ces différents systèmes sachant que peu d'entre eux respectent la norme SQL et ils ont tous un fonctionnement légèrement différent. La classe SQL permet de faire le lien entre des requêtes génériques et un système en particulier.
Chaque système supporté comporte sa propre classe, l'objet $Sql est le résultat de l'instanciation de la classe correspondant au SGBD utilisé.
Voyons pour être plus clair un schéma qui précise l'utilisé de cette classe.


L'utilisation de cette classe est obligatoire à partir du moment où vous souhaitez utiliser une base de données.



Fonctions disponibles




Connexion



La classe SQL est déjà instanciée dans l'objet $Sql dans l'environnement de PHPBoost et elle est déjà connectée au serveur avec les paramètres entrées par l'administrateur.
Si toutefois vous désirez pousser son fonctionnement, le constructeur la connecte automatiquement si il détecte les paramètres sinon des méthodes de connexion et de choix de la base de données sont disponibles.


Requêtes courantes



Vos requêtes SQL doivent respecter certaines règles, décrite dans l'article Requêtes SQL.


La classe SQL permet d'effectuer les requêtes agissant sur le contenu les plus courantes (SELECT, UPDATE, DELETE, INSERT) ainsi que les requêtes d'administration de base de données les plus fréquentes (CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE).


Lecture d'un fichier SQL



La classe SQL est aussi capable d'interpréter un fichier SQL. Ceci est très utile pour l'installation ou la mise à jour de modules.



Méthodes



Voici la liste des méthodes de cette classe.
Il faut savoir que le nom de la majorité d'entre elles a été choisi tel qu'elles portent le même nom que leurs homologues fonctions de PHP associées à chaque SGBD. Par exemple mysql_fetch_assoc devient sql_fetch_assoc. Cela aidera les habitués à un SGBD particulier.



Voiçi la liste complémentaire de fonctions peu utilisées (notamment dans les modules) mais présente dans la classe SQL.