pgsql
Classe PGsql destinée à faire de l' abstraction de bdd (entre autres).
La classe PGsql 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.
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és dans la classe elle même avec la variable $Bdd->gc_time=86400 le chemin du répertoire 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
- PGsql - 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 pgsql.
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
Manipulation des blobs
<?php
/*
on suppose une table image créé ds la base image
avec pour champs:
nom:varchar(100)
image:mediumblob
*/
// ici on insere le fichier de la base de donnée
require_once 'pgsql.php';
$conY = new PGsql('localhost','root','password','image', 80);
$data = $conY -> prepare_blob('path/filename');
$records = $conY -> Send_Query("INSERT INTO image VALUES ('lenom','$data')") ;
// ...
// là on renvoi le blob( ici une image ) au navigateur en utilsant le cache de donnée pour épargner le serveur mysql
$records = $conY -> get_cached_data("SELECT * FROM image WHERE nom='lenom'",3600) ;
// on renvoi les bonne entete http au navigateur pour kil affiche l'image
header('content-type: image/jpeg');
// ici on renvoi lechamp image du premier resultat de la requete vers le navigateur
print $records[0]['image'];
?>
/*
on suppose une table image créé ds la base image
avec pour champs:
nom:varchar(100)
image:mediumblob
*/
// ici on insere le fichier de la base de donnée
require_once 'pgsql.php';
$conY = new PGsql('localhost','root','password','image', 80);
$data = $conY -> prepare_blob('path/filename');
$records = $conY -> Send_Query("INSERT INTO image VALUES ('lenom','$data')") ;
// ...
// là on renvoi le blob( ici une image ) au navigateur en utilsant le cache de donnée pour épargner le serveur mysql
$records = $conY -> get_cached_data("SELECT * FROM image WHERE nom='lenom'",3600) ;
// on renvoi les bonne entete http au navigateur pour kil affiche l'image
header('content-type: image/jpeg');
// ici on renvoi lechamp image du premier resultat de la requete vers le navigateur
print $records[0]['image'];
?>