section SQLManager section

Description

Cette section aborde la gestion des identifiants et connexion entre PHP et MySQL avec la Classe Sql et les objets Request.

La bibliothèque SQLManager apporte un ensemble de méthode permettant la construction et le débogguage de requête. Elle permet aussi de faire des exportations et importations de base de données.

Information

  • Auteur : Lenzotti Romain
  • Fichier : class_sql.php
  • Version : 5.3
  • Note : This work is licensed under a Creative Commons Attribution 2.5 Generic License http://creativecommons.org/licenses/by/2.5/

Liste des corrections

Depuis 5.3
  • Correction correction de la méthode Sql.parse
Depuis 5.2
  • Correction du problème du foncteur non déclenché lorsque l'on utilise Request.exec
Depuis 5.1
  • Correction de bug de syntaxe
Depuis 5
  • Normalisation de la documentation pour PDOC.
  • Suppression des méthodes de la version `3.0`, utilisez la classe Request pour la gestion des rêquetes compilés.
  • Suppression des méthodes `Sql.select`, `Sql.update`, `Sql.delete`, `Sql.insert`, `Sql.drop`, `Sql.truncat` au profit de la classe Request et Sql.query qui assurent le gestion des requêtes pré-cité.
Depuis 4.9
Depuis 4.8
Depuis 4.7
  • Ajout de la méthode Sql.parse permettant d'important un fichier SQL et de l'exécuter.
Depuis 4.6
  • Ajout des écouteurs pour la connection à différentes base de données.
Depuis 4.5
  • Correction d'un oublie d'encodage en `UTF8` sur la méthode Sql.update.
Depuis 4.4
Depuis 4.3
  • Amélioration de l'encodage et le décodage des données.
  • Ajout de l'attribut Request.onexec. Cette attribut permet d'ajouter une fonction qui sera appélé lors de la construction du tableau retourné par les méthodes d'affichage.
Depuis 4.2
  • Changement des messages d'erreur lors de la tentative de connexion à la base de données. Les nouvelles erreurs sont `sql.connect.err` et `sql.select.db.err` et sont émises vers l'interface par `die()`.
  • Les erreurs liées à l'exécution d'une requête seront stockés dans Sql.error.

Configuration et utilisation

Pour pouvoir utiliser la bibliothèque correctement, il vous faut instancier un objet Sql en début de script comme suivant :

new Sql('root', 'mysql', 'myhost', 'mydb');

Ensuite vous pourrez utilisez tout au long de votre programme la classe Request pour compiler et exécuter vos requêtes comme suivant :

$request = new Request();
$request->select = ' * ';
$request->from = 'mytable';
$request->where = 'field_id = 1';

var_dump($request->exec('select'));

Les principaux cas d’utilisation de la classe Request

Une fois la classe Sql instancié il vous est possible d’utiliser la classe Request sans avoir à vous occuper de la gestion de connexion et de déconnexion à la base de données. Sql s’occupe de tout !!!

Ci-dessus, la liste des principals cas d’utilisation de la classe Request :

Pour de plus ample information sur les différents type de requête supporté par Request, repportez-vous à la description de la méthode Request.compile.

Requête de type SELECT
$request = new Request();
$request->select = ' * ';
$request->from = 'mytable';
$request->where = 'field_id = 1';

var_dump($request->exec('select'));
Requête de type INSERT
$request = new Request();
$request->from = 'mytable';
$request->fields = 'field_id, field2, field3, field4';
$request->values = "NULL, 1, 'montext', 'montext2'";

var_dump($request->exec('insert')); //true
var_dump($request->exec('lastinsert')); //1
Requête de type UPDATE
$request = new Request();
$request->from = 'mytable';
$request->set = "field2 = 2, field3 = 'mon nouveau texte', field4 = 'mon second nouveau texte'";
$request->where = 'field_id = 1';

var_dump($request->exec('update'));
Requête de type DELETE
$request = new Request();
$request->from = 'mytable';
$request->where = 'field_id = 1';

var_dump($request->exec('delete'));

Classes

  • Request

    Générateur de requête Sql. Cette classe permet de générer toutes vos requêtes et retourne automatiquement un résultat.

  • Sql

    Gestionnaire de connexion MySQL.