05 février
2010

class Sql – documentation 3.x

Romakita @ 19 h 40 min

Description

La classe SQL permet de gérer de façon simple les connexions avec la base de données MySQL. Elle s’occupe en autre de retourner un tableau associatif et itératif des résultats en fonction de la requête. La gestion des erreurs est intégré dans la classe aussi bien au niveau des connexions que de l’exécution de requête.

Attributs

Constructor

new Sql([login, password, host, [database]]) ? Element

Créer une nouvelle instance de la classe Sql. La classe peut pendre soit zéro paramètre, soit trois ou soit quatre paramètres.

  • login (String) – Le login de la base de données
  • password (String) – Le password du login de la base de données
  • host (String) – L’hôte de la base de données
  • database (String) – La base de données par défaut pour la classe

Dans le cas où les paramètres de la classe sont initialisés :

class Sql{
    private $host = "localhost";
    private $login = "root";
    private $password = "mysql";
    //---------------------------------
    __construct(){}
}

$mysql = new Sql();

$tab = $mysql->select('*', 'mytable', "ID = 1"); //fonctionne sans message d'erreur car les paramètres de connexion sont correct

Dans le cas où les paramètres de la classe ne sont pas initialisés :

class Sql{
    private $host = '';
    private $login = '';
    private $password = '';
    //---------------------------------
    __construct(){}
}

$mysql = new Sql(); //Sql initialisé sur les paramètres par defaut

$tab = $mysql->select('*', 'mytable', "ID = 1"); //ne fonctionne pas car les paramètres de connexion sont incorrect

Initialisation des paramètres de connexion lors de l’instanciation de l’objet :

$mysql = new Sql('root', 'mysql', 'localhost');
//ou
$mysql = new Sql('root', 'mysql', 'localhost', 'mabase');

Class methods

  • connect

    public Sql::connect() ? boolean

    Initialise une connexion à MySQL, et retourne true si la connexion c’est correctement passé. false dans le cas contraire.

    Dans la version PHP5, l’échec de connexion ne retourne pas false, mais génère une Exception avec son erreur correspondante.

  • close

    public Sql::close() ? void

    Met la connexion de l’objet à false.

  • delete

    public Sql::delete(table, where) ? boolean

    Supprime une entrée dans la base de données courante.

    Exemple :

    $mysql = new Sql();
    $mysql->delete('matable', 'ID = 1');
    
  • getError

    public Sql::getError() ? String

    Retourne la dernière erreur rencontré par l’objet Sql.

  • getRequest

    public Sql::getRequest() ? String

    Retourne la dernière requête généré par l’objet Sql.

  • getState

    public Sql::getState() ? boolean

    Indique si l’objet Sql est connecté à la base de données, true si l’objet est connecté, false dans le cas contraire.

  • insert

    public insert(table, fields, values) ? boolean

    Ajoute une nouvelle entrée dans la table.

    • table (String) – la table où l’on doit insérer les champs
    • fields (String) – les champs pour l’insertion
    • values (String) – les valeurs pour les champs
  • query

    public Sql::query(request) ? Array

    Retourne un tableau associatif et itératif en fonction de la requête.

    • request (String) – Requête SQL à executer

    Exemple :

    $mysql = new Sql();
    $table = $mysql->query("SELECT ID, Name, Mail FROM table");
    
    for($i = 0; $i < $table['length']; $i += 1){
          echo "User ID : ".$table[$i]['ID'].", Name : ".$table[$i]['Name'].", e-mail : ".$table[$i]['Mail'];
    }
    //résultat----------------------------
    //User ID : 1, Name : Rom-makita, e-mail : webmaster@rom-makita.fr
    //User ID : 2, Name : User_test, e-mail : test@rom-makita.fr
    
  • lastInsert

    public Sql::lastInsert(primaryKey, table) ? Number ou String

    Retourne la dernière occurrence insérée dans la table.

    • primaryKey (String) – Le champ des clefs primaire
    • table (String) – La table à interroger
  • select

    public Sql::select(fields, table, [where, [groupby, [orderby, [limits]]]]) ? Array

    Execute une requête de type SELECT fields FROM table WHERE clause GROUPE BY fieldGroup ORDER BY fieldsOrder LIMITS limits et retourne un tableau associatif et iteratif.

    Les paramètres where, groupby, orderby, limits sont optionnels. La requête sera généré en fonction de ces derniers.

    • fields ( String) – Les champs à afficher
    • table (String) – la table à interroger
    • where (String) – les clauses de restriction
    • groupby (String) – les champs à regrouper
    • orderby (String) – les champs de tri
    • limits (String) – Limite le nombre de ligne retournée
  • select_db

    public Sql::select_db(database) ? void

    Sélectionne une base de données par défaut.

    • database ( String) – La base de données à sélectionner
  • setDatabase

    public Sql::setDatabase(database) ? void

    Alias de la méthode Sql::select_db().

    • database ( String) – La base de données à sélectionner
  • setHost

    public Sql::setHost(host) ? void

    Permet d’enregistrer l’hôte pour l’objet Sql.

    • host ( String) – L’hôte de la base de données
  • setLogin

    public Sql::setLogin(login) ? void

    Permet d’enregistrer le login de la base de données.

    • login (String) – Le login de la base de données
  • setPassword

    public Sql::setPassword(password) ? void

    Permet d’enregistrer le password du login de la base de données.

    • password (String) – Le password de la base de données
  • showColumns

    public Sql::showColumns(table) ? Array

    Retourne un table de nom de champ de la table demandé.

    • table (String) – Nom de la classe CSS à ajouter
  • showTable

    public Sql::showTable([where]) ? Array

    Retourne un tableau des tables contenu dans la base de données courante.

    • where (String) – clause de restriction
  • update

    public Sql::update(table, set, where) ? boolean

    Met à jour une entrée de la table et retourne true si la mise à jour à réussi, false dans le cas contraire.

    • table (String) – la table où l’on doit mettre à jour la ligne
    • set (String) – les champs et leurs valeurs
    • where (String) – clause de restriction
Creative Commons License This work is licensed under a Creative Commons Attribution 3.0 Unported License.