Class de base pour la gestion d'une base de données
Classes recquises :
Visibilité | Type | Nom | Description |
---|---|---|---|
protected | AConnectionBasic | $CLSconnection | Instance d'une classe de connexion correspondant au type de la base |
protected | resource | $RSCresultQuery | Résultat de la dernière requête |
protected | string | $lastRequest | Dernière requête effectuée |
public | bool | connected | Indique si la connexion est établie |
Visibilité | Return | Nom | Param 1 | Param 2 | Param 3 | Param 4 | Param 5 | Param 6 | Param 7 | Param 8 | Description |
---|---|---|---|---|---|---|---|---|---|---|---|
protected | string | _escape | mixed $value | Echapper les valeurs, contre les injections SQL | |||||||
public | connect | Se connecter à la base | |||||||||
public | disconnect | Se déconnecter de la base | |||||||||
public | query | $request | Faire une requête | ||||||||
public | insert | $table | $columns | $values | Insérer des données dans une table | ||||||
public | replace | $table | $columns | $values | Insérer des données dans une table si elles n'existent pas, sinon la met à jour | ||||||
public | select | $table | $columns | $condition | $group | $having | $order | $limit | $sendRequest | Sélection | |
public | update | $table | $columns | $values | $condition | Modification | |||||
public | delete | $table | $condition | Suppression | |||||||
public | fetch_array | Retourne la prochaine ligne du résultat de la requête, false si terminé. | |||||||||
public | fetch_single | Retourne la valeur du premier champ du résultat de la requête. |
Création
Ajout des méthodes :
Ajout de la propriété $lastQuery
Modification de la déclaration de la méthode select
Ajout de la méthode fetch_single
Ajout de la méthode replace
Ajout de la méthode _escape, qui permet d'échapper les valeurs, contre les injections sql
Ajout d'une propriété connected qui indique si la connexion à la base est établie
require_once 'IDatabase.php'; require_once 'DatabaseUtils.php'; /** * Class de base pour la gestion d'une base de données * @package com.neolao * @subpackage database * @author neolao <neo@neolao.com> * @version 1.7 (31/05/2005) * @link http://resources.neolao.com/php/classes/database/adatabasebasic */ abstract class ADatabaseBasic implements IDatabase { // ----------------------------- VARIABLES --------------------------------- /** * Instance d'une classe de connexion correspondant au type de la base * @var connection */ protected $CLSconnection; /** * Résultat de la dernière requête * @var resource */ protected $RSCresultQuery; /** * Dernière requête effectuée * @var string */ public $lastRequest; /*=========================== METHODES PRIVEES ===========================*/ /*========================================================================*/ /** * Echapper les valeurs, contre les injections SQL * @param mixed $value La valeur à échapper * @return string La valeur échappée */ protected function _escape($value){ return DatabaseUtils::escape($value); } /*===================== FIN = METHODES PRIVEES = FIN =====================*/ /*========================================================================*/ /*============================ GETTER SETTER ============================*/ /*========================================================================*/ public function __get($var){ switch($var){ case "connected": // Indique si la connexion est établie return ($this->CLSconnection->getResource() !== false)?true:false; default: return null; } } /*====================== FIN = GETTER SETTER = FIN ======================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Se connecter à la base */ public function connect(){ } /** * Se déconnecter de la base */ public function disconnect(){ if(!is_null($this->CLSconnection)){ $this->CLSconnection->close(); } } /** * Faire une requête */ public function query($request){ } /** * Insérer des données dans une table */ public function insert($table, $columns, $values){ } /** * Insérer des données dans une table si elles n'existent pas, sinon la met à jour */ public function replace($table, $columns, $values){ } /** * Sélection */ public function select($table, $columns=null, $condition=null, $group=null, $having=null, $order=null, $limit=null, $sendRequest=true){ } /** * Modification */ public function update($table, $columns, $values, $condition=null){ } /** * Suppression */ public function delete($table, $condition=null){ } /** * Retourne la prochaine ligne du résultat de la requête */ public function fetch_array(){ } /** * Retourne la valeur du premier champ du résultat de la requête */ public function fetch_single(){ } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }