com.neolao.database.ADatabaseBasic

Class de base pour la gestion d'une base de données

Classes recquises :

Propriétés

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

Méthodes

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.

Change log

[02/03/2005] Version 1.0

Création

[10/03/2005] Version 1.1

Ajout des méthodes :

  • insert
  • select
  • update
  • delete

[04/04/2005] Version 1.2

Ajout de la propriété $lastQuery

[07/04/2005] Version 1.3

Modification de la déclaration de la méthode select

[09/04/2005] Version 1.4

Ajout de la méthode fetch_single

[16/04/2005] Version 1.5

Ajout de la méthode replace

[11/05/2005] Version 1.6

Ajout de la méthode _escape, qui permet d'échapper les valeurs, contre les injections sql

[31/05/2005] Version 1.7

Ajout d'une propriété connected qui indique si la connexion à la base est établie

Source

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 ====================*/
	/*========================================================================*/
}