Annonces
Livre d'or

Par koopa'z

Bien que j'ai pas toute les fonctionnalités, phpboost est canon !

Livre d'or

Mini sondage
Etes-vous satisfait du support PHPBoost ?










Résultats

 
Requêtes SQL
 



Voici un article permettant de conserver une certaine cohérence (nécessaire) entres les requêtes des différents développeurs. Vous trouverez ici les règles pour vos requêtes, n'hésitez pas à y revenir régulièrement en cas de doute!

Utilisez les fonctions de la classe SQL pour vos requêtes afin d'assurer une compatibilité maximale de votre module.


Ecriture des requêtes



Ces règles ne sont pas des conseils, elles sont obligatoires afin d'assurer une compatibilité maximale.


Préfixe des tables



Vos tables devront être précédées de la constante PREFIX. Par défaut celle-ci vaut phpboost_

Exemple



Code PHP :
$Sql->Query("SELECT login FROM ".PREFIX."member WHERE user_id = 1", __LINE__, __FILE__);


La requête SQL exécutée sera (avec le préfixe phpboost_):
Code SQL :
SELECT login FROM phpboost_member WHERE user_id = 1




Conditions



Vous aurez souvent recours à des variables dans vos conditions. Celles-ci doivent être entourées d'apostrophes ('), ceci afin d'éviter un maximum les erreurs SQL si votre variable est vide et pour se conformer au standard SQL qui requiert que les chaines de caractères soient entourées d'apostrophes.


Exemple



Code PHP :
$Sql->Query("SELECT login FROM ".PREFIX."member WHERE user_id = '" . $user_id . "'", __LINE__, __FILE__);




Encapsulation des requêtes



Les requêtes SQL doivent être entourées de guillemets double ("). En effet vos champs variables devront être entourés d'apostrophes ('), cela évite donc d'échapper inutilement toutes vos apostrophes.

Exemple



Code PHP :
$Sql->Query("SELECT login FROM ".PREFIX."member WHERE user_id = 1", __LINE__, __FILE__);




Opérateurs



Les opérateurs en SQL sont assez limités vous devez connaitre = et != cependant ce dernier n'est pas compatible au standard SQL.
Vous ne devrez donc pas utiliser l'opérateur != mais <> qui est identique mais conforme au standard SQL.



Requêtes et fonctions



Si vous désirez exécuter une requête dans une fonction il faut d'abord mettre la variable $sql (qui contient l'objet instancié par la class) en global.


Exemple



Code PHP :
function ma_fonction()
{
    global $sql;
    $Sql->Query("SELECT login FROM ".PREFIX."member WHERE user_id = 1", __LINE__, __FILE__);
}




Sécurité



Les requêtes SQL peuvent être dangereuses si mal manipulée. En effet votre base de données contient l'essentiel des informations de votre site. Si celle-ci est détruite alors votre site est perdu.
C'est donc un point à ne pas négliger.

Pensez donc bien à sécuriser tout les variables passées dans vos requêtes SQL. Notamment les entiers et les flottants doivent être sécurisé avec la fonction numeric(), les textes BBCode avec la fonction parse() et les chaines de caractères avec la fonction securit().

 
Cette page a été vue 6083 fois
Annonces