18-11-2006, 11:46 AM
Je sais que quelqu'un nous a déballé toutes des classes de connexion SQL.
Seulement, j'aurais aimé faire moi-même cette classe.
Avec mes connaissances en Java (et donc en POO), j'ai essayé de faire une classe MySQL.
Si quelqu'un qui s'y connait, pouvait me dire si c'était juste, ce qu'il faudrait améliorer, ce qui est à changer.
Merci
Seulement, j'aurais aimé faire moi-même cette classe.
Avec mes connaissances en Java (et donc en POO), j'ai essayé de faire une classe MySQL.
Si quelqu'un qui s'y connait, pouvait me dire si c'était juste, ce qu'il faudrait améliorer, ce qui est à changer.
Merci
Code PHP :
<?php
class Mysql {
// Variable de connexion
private static $serveur = "localhost";
private static $utilisateur = "root";
private static $motdepasse = "";
private static $bd = "site";
private $link;
// Connexion
public function connect(){
$this->$link = mysql_connect(self::$serveur,self::$utilisateur,self::$motdepasse) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
mysql_select_db(self::$bd,$this->link) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Déconnexion
public function disconnect() {
mysql_close($this->link) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Recherche
public function select($champs, $table, $criteres) {
mysql_query("SELECT ".$champs." FROM ".$table." ".$criteres) or die(this->erreur(mysql_error(),__FILE__,__LINE__);
}
// Insertion
public function insert($table, $valeur) {
mysql_query("INSERT INTO ".$bd." VALUES(".$valeur.")", $this->link) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Suprresion
public function delete($table, $id) {
mysql_query("DELETE FROM ".$table." WHERE id=".$id."", $this->link) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Mise à jour
public function update($table, $valeur, $id) {
mysql_query("UPDATE ".$table." SET ".$valeur." WHERE id=".$id, $this->link) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Vérification
public function verification($table) {
mysql_query("CHECK TABLE ".$table) or die($this->erreur(mysql_error(), __FILE__, __LINE__);
}
// Erreur
public function erreur($mysql_erreur, $file, $line) {
var $fichier = "/erreur/".date("Y-m-d").".txt","a+";
if ( is_writable($fichier) {
if ( var $handle = fopen($fichier,"a+") ) {
$ligne = date("H:i:s")." : ".$file." = (".$line.")".$mysql_erreur;
if ( fwrite($handle,$ligne) ) {
if (fclose($handle) {
echo "Le message d'erreur SQL a été reporté";
}else{
echo "Impossible de fermer le fichier de rapport d'erreur SQL";
exit;
}
}else{
echo "Impossible d'écrire dans le fichier de rapport d'erreur SQL";
exit;
}
}else{
echo "Impossible d'ouvrir dans le fichier de rapport d'erreur SQL";
exit;
}
}else{
echo "Le rapport d'erreur SQL est inaccéssible en écriture";
exit;
}
}
}