Dernière mise à jour : 04/01/2016 à 17h15
Table des matières
Il a pour but de faciliter le développement et ainsi gagner en productivité.
La classe qui regroupe les différentes fonctions se nomme DBQuerier.
On peut accéder à son objet avec :
Code PHP :
PersistenceContext::get_querier()
Les requêtes
INSERT
Fonction :
InjectQueryResult insert($table_name, array $columns)
Pour insérer un élément en base de donnée, exécuter la commande suivante :
Code PHP :
PersistenceContext::get_querier()->insert('la_table_en_question', array( 'colonne_1' => 'valeur_1', 'colonne_2' => 'valeur_2' ));
Il suffit de renseigner le nom de la table et de fournir un tableau avec pour chaque élément une clé qui correspond au nom de la colonne et une valeur à lui attribuer.
Les caractères spéciaux sont échappés automatiquement, vous n'avez donc pas à le faire manuellement.
Le dernier id inséré peut être récupéré grâce à la fonction get_last_inserted_id() :
Code PHP :
$result = PersistenceContext::get_querier()->insert('la_table_en_question', array( 'colonne_1' => 'valeur_1', 'colonne_2' => 'valeur_2' )); $inserted_id = $result->get_last_inserted_id();
UPDATE
Fonction :
InjectQueryResult update($table_name, array $columns, $condition, array $parameters = array())
Voici un exemple de mise à jour d'un élément en base de données :
Code PHP :
De la même manière que dans un insert, le deuxième argument de la fonction est un tableau avec les colonnes à modifier.
Les arguments 3 et 4 permettent de définir la condition, c'est à dire quel(s) élément(s) vous souhaitez modifier.
Le troisième argument est la condition. Dans cet exemple, WHERE id=:id. Au lieu de faire de la concaténation, il vous suffit de mettre un double point suivit d'une clé. Dans notre cas c'est :id.
Le quatrième argument est un tableau contenant les valeurs de remplacement. La clé du tableau est celle que vous avez renseigné dans la condition.
Les caractères spéciaux sont également échappés automatiquement.
DELETE
Fonction :
delete($table_name, $condition, array $parameters = array())
Code PHP :
PersistenceContext::get_querier()->delete('la_table_en_question', 'WHERE user_id=:id', array( 'id' => 'identifiant à supprimer' ));
SELECT
Sélectionner un seul élément
Fonction :
mixed[string] select_single_row($table_name, array $columns, $condition, array $parameters = array())
Code PHP :
Sélectionner une seule colonne
Fonction :
string get_column_value($table_name, $column, $condition, array $parameters = array())
Code PHP :
PersistenceContext::get_querier()->get_column_value('la_table_en_question', 'la_colonne_demandée', 'WHERE id=:id', array( 'id' => 'identifiant à sélectionner' ));
Sélectionner plusieurs colonnes
Fonction :
array select_rows($table_name, array $columns, $condition = 'WHERE 1', $parameters = array())
Code PHP :
SELECT personnalisé
Fonction :
SelectQueryResult select($query, $parameters = array(), $fetch_mode = SelectQueryResult::FETCH_ASSOC)
Code PHP :
PersistenceContext::get_querier()->select('SELECT toto FROM votre_table WHERE id=:id', array( 'id' => 'identifiant à sélectionner' ), SelectQueryResult::FETCH_ASSOC ou SelectQueryResult::FETCH_NUM);
COUNT
Fonction :
int count($table_name, $condition = 'WHERE 1', $parameters = array(), $count_column = '*')
Code PHP :
TRUNCATE
Fonction :
truncate($table_name)
Code PHP :
PersistenceContext::get_querier()->truncate('la_table_de_votre_module');