com.neolao.database.DatabaseUtils
Fonctions utiles liées aux bases de données
Méthodes
Visibilité | Return | Nom | Param 1 | Description |
---|---|---|---|---|
static public | string | escape | mixed $value | Echapper les valeurs, contre les injections SQL |
Change log
[11/05/2005] Version 1.0
Création
[14/05/2005] Version 1.1
La fonction fournie par le site ne marche pas (pfff, j'me disais aussi que c'était louche). Je la modifie
Source
/** * Fonctions utiles liées aux bases de données * @package com.neolao * @subpackage database * @author neolao <neo@neolao.com> * @version 1.1 (15/05/2005) * @link http://resources.neolao.com/php/classes/database/databaseutils */ class DatabaseUtils { // ----------------------------- VARIABLES --------------------------------- /*=========================== METHODES PRIVEES ===========================*/ /*========================================================================*/ /*===================== FIN = METHODES PRIVEES = FIN =====================*/ /*========================================================================*/ /*============================ GETTER SETTER ============================*/ /*========================================================================*/ /*====================== FIN = GETTER SETTER = FIN ======================*/ /*========================================================================*/ /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Echapper les valeurs, contre les injections SQL * @param mixed $value La valeur à échapper * @return string La valeur échappée */ static public function escape($value){ // Efface les espaces en trop $value = trim($value); if(ereg("^'(.*)'$", $value, $regs) !== false){ // La valeur est entre quote, c'est donc une chaine $value = $regs[1]; // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // On échape tout ce qu'il y a à l'intérieur $value = "'" . mysql_real_escape_string($value) . "'"; }else{ // La valeur n'est pas entre quote, ce n'est pas une chaine // Protection si ce n'est pas vraiment un nombre if (!is_numeric($value)) { $value = "'".mysql_real_escape_string($value)."'"; }else{ $value = mysql_real_escape_string($value); } } return (string) $value; } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }