<?php
interface sql
{
/**
* ouvre la connection SQL vers la BDD avec le login et mot de passe, et
* selectionne la BDD
* @param $host String
* @param $login String
* @param $pass String
* @param $base String
*
*/
function __construct($host,$login,$pass,$base);
/**
* mode debug
* @param $debug booleen
* @return void
*/
function set_debug($debug);
/**
* décalage horaire pour les dates
* @param $decal String au format HH:mm:ss (ex: '00:00:00')
* @return void
*/
function set_dbdecal($var);
/**
* ajouter un préfixe à toutes les tables
* @param $var String
* @return void
*/
function set_prebdd($var);
/**
* selon les BDD l'échappement de caractère est spécifique
* @param $string String à échapper
* @return String
*/
function escape_string($string);
/**
* 'analyser' une requête SQL. permet des remplacements (format date ou décalage, préfixe...)
* @param $req String
* @return String
*/
function parse_query($req) ;
/**
* dernier code erreur (ou zéro si la dernière requête est OK)
* @return Int
*/
function errno();
/**
* dernier message d'erreur
* @return String
*/
function error();
/**
* dernier id inséré
* @return Int
*/
function insert_id();
/**
* nb de lignes modifiées par la dernière requête
* @return Int
*/
function affected_rows();
/**
* rechercher la n'ième ligne et le n'ième champs
* @param $res : un objet ''result''
* @param $row Int : la ligne à chercher
* @param $field String ou Int : indice du champs à chercher. Si omis, renvoie la ligne complète
* @return mixed (String ou Array)
*/
function result($res, $row, $field = NULL);
/**
* compter le nb de lignes de la ressource
* @param $res : objet ''result''
* @return Int
*/
function num_rows($res);
/**
* exécuter la requête
* @param $req : requête SQL
* @param $explain : ajouter les explications SQL (requête EXPLAIN)
* @return mixed (booleen, objet recordset, ''result'' ...)
*/
function query($req, $explain = true);
/**
* libérer un objet
* @param $res : objet ''result''
* @return booleen
*/
function free_result($res);
/**
* log une erreur SQL (dans un fichier ou...)
* @param $req String
* @return String
*/
function log_error($req);
/**
* log du texte (dans un fichier ou...)
* @param $text String
* @return void
*/
function log($text);
/**
* exécuter la requête + renvoyer la 1ère ligne uniquement, sous forme d'un tableau
* @param $req String
* @return Array
*/
function make_array_result($req);
/**
* exécuter la requête + renvoyer sous forme d'un tableau
* @param $req String
* @param $explain : ajouter les explications SQL (requête EXPLAIN)
* @return Array
*/
function make_array($req, $explain = true);
/**
* exécuter la requête + renvoyer sous forme d'un tableau indexé, la clé du tableau est le champ $idx
* @param $req String
* @param $idx String : champs à utiliser comme index du tableau
* @param $explain : ajouter les explications SQL (requête EXPLAIN)
* @return Array
*/
function index_array($req, $idx = false, $explain = true);
/**
* exécuter la requête + renvoyer la valeur de la 1ère ligne
* remarque : idem que result($sql, 0, $field);
* @param $req String
* @param $field String : le nom du champs à rendre
* @return mixed (String ou Int)
*/
function get_result($sql, $field);
/**
* fermeture de la connexion
* @return booleen
*/
function close();
}
?>