mysql
Classe MySQL destinée à faire de l' abstraction de bdd (enre autres).
La classe MySQL reprend les principales fonctionnalités des fonctions PHP associées. Son but, n est donc pas de remplacer ces fonctions, mais de vous permettre , eventuellemnt, de faire de l' abstraction de base de donnée. Notemment grace a une classe PostgresSQL, qui devrait arriver prochainement .... La classe integre aussi la fonctionnalité de cache de donnée ainsi qu'une methode facilitant la manipulation de blobs. Les reglages du ramasse miette sont effectué ds la classe elle même avec la variable $Bdd->gc_time=86400 le chemin du repertoire de cache se gere de même avec $Bdd->cache_path='cache'. Lors de la mise en place de la classe penser a créer le répertoire de cache.
Les Méthodes
- MySQL - Nouvelle Instance
- connect - Connection et sélection de la Base
- send_query - Envoyez une requete
- num_rows - Nombre de résultat(s) retourné(s) par une requete
- get_cached_data - Envoie une requete et met le resultat au cache
- prepare_blob - Prepare un binaire, a être inséré dans une requête Mysql.
Exemples
- Exemple Minimal - Connection à la Base de donnée et selection de la base
- Envoi d' une requete
- Récupération et affichage des Résultats ARRAY (1)
- Récupération et affichage des Résultats ARRAY (2)
- Récupération et affichage des Résultats OBJET
- Libérer les résulats, et fermer la connexion
- Fonctionnement du cache de données
- Manipulation des blobs
Description des Méthodes
Nouvelle Instance
MySQL( string Host, string User, string Password, string Base)
Nouvelle Instance.
$Bdd = new MySQL('localhost', 'root', 'password', 'base')
Connection et sélection de la Base
connect( string Host, string User, string Password, string Base)
Cette methode sert à se connecter au serveur MySQL et de sélectionner la base de donnée ou l' on va travailler.
- Host : L' adresse de votre serveur MySQL.
- User : Votre login de connexion.
- Password : Votre Password de connexion.
- Base : La base sur laquelle on va travailler.
$Bdd -> connect('localhost', 'root', 'password', 'base')
Envoyez une requete
send_query( string Query [, resource Link])
Envoie une requete SQL. L'appel de $Bdd->connect() n'est pas nécessaire avant, la connexion étant effectué automatiquement.
- Query : La requete à envoyer.
- Link : Parametre optionnel. Resource renvoyée par connect().
$Bdd -> send_query('SELECT truc FROM machin')
Nombre de résultat(s) retourné(s) par une requete
num_rows()
Se substitue a mysql_num_rows() ET a mysql_affected_rows. Renvoie le nombre de résultat(s) renvoyé(s) par la dernière requete.
$Bdd -> num_rows()
Envoie une requete et met le resultat au cache
get_cached_data( string Request, int time)
get_cached_data, vérifie que le resultat n'est pas ds le cache de donnée, et au besoin execute la requete. puis renvoie le résultat sous forme d'un tableau associatif de tous les enregistrements demandés, enfin il met a jour le cache.
- Request : la requete MySQL SELECT.
- Delay : La durée de validité du resultat lmis dans le cache.
$Bdd -> get_cached_data('SELECT machin FROM truc', 600)
Prepare un binaire, a être inséré dans une requête Mysql.
prepare_blob( string filename)
prepare_blob() ajoute les slash devant tous les éléments binaires qui posent probleme lors de l'insertion d'un binaire ds une requete Mysql et renvoi le resultat. Vous pourrez ainsi facilement insérer un fichier ds vos base de donnée. Le probleme ne se pose qu'a l'insertion ( INSERT, UPDATE) ds la base Lors du retrait ( SELECT ) le binaire passe sans souci à php.
- filemename : le chemin vars le fichier a utiliser.
$file = $Bdd -> prepare_blob('path/filename')