- Voici un exemple :
- <?
- include "mysql-inc.php"; // Nom de l'include
- $db = new sql("localhost","mysql"); // On choisit la destination et la base de donnée
- $db->setDebug(); // On active le debuggage
- $db->query("select * from user"); // Une petite requete
- $champs=$db->getInfoTable(); //Donne les oms de champs de la table
- echo $champs[1]."<br>"; //Affiche le nom du second champ (on commence par 0 :)
- while($db->next_record()) { // Tant qu'il y a des réponses
- echo $db->field("User");// ou $db->field(1); On afficeh le champ User
- echo "<br>";
- }
-
- ?>
-
-
-
-
- Le fichier "mysql-inc.php"
-
-
- <?
- /*
- Class sql
- Basé sur mySQL
- Date : 27/05/2001
- Auteur : k@se
- */
- class sql {
- // Définition des variables internes
- var $_con = 0;//Pour la connexion
- var $_res = 0;//Pour le resultat
- var $_res_data = Array(); // Resultat
- var $_nbres = 0; //Nombre de réponse
- var $_err = ""; // Pemet l'affichage des erreurs
- var $_debug_sql = 0; //Pour le debug :)
-
- //Construteur de la classe
- function sql($_host,$_db,$_user="www",$_password="") {
-
- // Se connect en mode persistent et n'affiche pas les erreurs (@ devant la fonction)
- $this->_con = @mysql_pconnect($_host, $_user, $_password) or die("Impossible de se connecter a $_host");
- mysql_select_db($_db) or die("Impossible d'ouvrir la base de donnee $_db");
- }
-
- //Active le debug
- function setDebug() {
- $this->_debug_sql = 1 ;
- echo "debug Activé<br>";
- }
-
- //Execute un requete
- function query($_sql) {
- if($this->_debug_sql) echo "Requete : $_sql <br>";
- mysql_free_result ($this->_res);//Dans le cas ou d'autre requete on déja été effectué
- $this->_res=@mysql_query($_sql,$this->_con);
- if(!$this->_res) {//Erreur
- $this->_err = "Erreur sur la requete : $_sql <br>Réponse : ".mysql_error()."<br>";
- if($this->_debug_sql) echo $_err;//On affiche l'erreur
- } else if(!$_nbres = mysql_num_rows($this->_res)) return 0;//S'il n y a pas de résultat
- else if($this->_debug_sql) echo "Nombre de réponse : $_nbres<br>";// Si il y en a alors on affiche le nombre
- }
- //Recupere le resultat d'une ligne
- function next_record() {
- if(!$this->_res) return 0;//Erreur de la requete
- $this->_res_data=mysql_fetch_array($this->_res);//On met le resultat d'une ligne dans un tableau
- return $this->_res_data;
- }
- //Affiche la valeur d'un champ
- function field($f) {
- return($this->_res_data[$f]);
- }
- //Recupère le nom des champs
- function getInfoTable() {
- if(!$this->_res) return 0;
- $_nbfield = mysql_num_fields($this->_res);//Nombre de champs de la requete
- if(!$_nbfield) $this->_err = "Erreur lors du comptage de champ ".mysql_error()."<br>";
- if($this->_debug_sql)
- if(!$_nbfield) echo $this->_err;
- else echo "Nombre de champs : $_nbfield <br>";
- for($zz=0;$zz<$_nbfield;$zz++) $_fields[]=@mysql_field_name($this->_res,$zz);
- return $_fields;
- }
- }
- ?>
-
Voici un exemple :
<?
include "mysql-inc.php"; // Nom de l'include
$db = new sql("localhost","mysql"); // On choisit la destination et la base de donnée
$db->setDebug(); // On active le debuggage
$db->query("select * from user"); // Une petite requete
$champs=$db->getInfoTable(); //Donne les oms de champs de la table
echo $champs[1]."<br>"; //Affiche le nom du second champ (on commence par 0 :)
while($db->next_record()) { // Tant qu'il y a des réponses
echo $db->field("User");// ou $db->field(1); On afficeh le champ User
echo "<br>";
}
?>
Le fichier "mysql-inc.php"
<?
/*
Class sql
Basé sur mySQL
Date : 27/05/2001
Auteur : k@se
*/
class sql {
// Définition des variables internes
var $_con = 0;//Pour la connexion
var $_res = 0;//Pour le resultat
var $_res_data = Array(); // Resultat
var $_nbres = 0; //Nombre de réponse
var $_err = ""; // Pemet l'affichage des erreurs
var $_debug_sql = 0; //Pour le debug :)
//Construteur de la classe
function sql($_host,$_db,$_user="www",$_password="") {
// Se connect en mode persistent et n'affiche pas les erreurs (@ devant la fonction)
$this->_con = @mysql_pconnect($_host, $_user, $_password) or die("Impossible de se connecter a $_host");
mysql_select_db($_db) or die("Impossible d'ouvrir la base de donnee $_db");
}
//Active le debug
function setDebug() {
$this->_debug_sql = 1 ;
echo "debug Activé<br>";
}
//Execute un requete
function query($_sql) {
if($this->_debug_sql) echo "Requete : $_sql <br>";
mysql_free_result ($this->_res);//Dans le cas ou d'autre requete on déja été effectué
$this->_res=@mysql_query($_sql,$this->_con);
if(!$this->_res) {//Erreur
$this->_err = "Erreur sur la requete : $_sql <br>Réponse : ".mysql_error()."<br>";
if($this->_debug_sql) echo $_err;//On affiche l'erreur
} else if(!$_nbres = mysql_num_rows($this->_res)) return 0;//S'il n y a pas de résultat
else if($this->_debug_sql) echo "Nombre de réponse : $_nbres<br>";// Si il y en a alors on affiche le nombre
}
//Recupere le resultat d'une ligne
function next_record() {
if(!$this->_res) return 0;//Erreur de la requete
$this->_res_data=mysql_fetch_array($this->_res);//On met le resultat d'une ligne dans un tableau
return $this->_res_data;
}
//Affiche la valeur d'un champ
function field($f) {
return($this->_res_data[$f]);
}
//Recupère le nom des champs
function getInfoTable() {
if(!$this->_res) return 0;
$_nbfield = mysql_num_fields($this->_res);//Nombre de champs de la requete
if(!$_nbfield) $this->_err = "Erreur lors du comptage de champ ".mysql_error()."<br>";
if($this->_debug_sql)
if(!$_nbfield) echo $this->_err;
else echo "Nombre de champs : $_nbfield <br>";
for($zz=0;$zz<$_nbfield;$zz++) $_fields[]=@mysql_field_name($this->_res,$zz);
return $_fields;
}
}
?>