EXTENTION_OK; } function mw_mysql($host, $base, $user, $password){ $this->host = $host; $this->base = $base; $this->user = $user; $this->password = $password; $this->EXTENTION_OK = function_exists("mysql_connect"); } function connect($host, $base, $user, $password){ $this->link = @mysql_connect($host, $user, $password); if(!$this->link) throw new Exception($this->exception_out("Impossible d'etablir une connection au serveur")); @mysql_query("SET NAMES 'utf8'"); if($base){ $connected = @mysql_select_db($base, $this->link); if(!$connected) throw new Exception($this->exception_out("Impossible de selectioner la base ".$base)); } return true; } function select_db($db_name){ $this->base = $db_name; if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password); return $this->query("USE ".$db_name); } function table_exists($table){ if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password); $rst = $this->query("SHOW TABLES"); while($v_rst = mysql_fetch_array($rst)){ if(strcmp($v_rst[0], $table) == 0) return true; } mysql_free_result($rst); return false; } function query($query_string){ if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password); $result = @mysql_query($query_string, $this->link); if(!$result) throw new Exception($this->exception_out("Syntaxe invalide dans une requete")); return $result; } function fetch_assoc($rst){ if($this->link){ if($rst){ return mysql_fetch_assoc($rst); } else throw new Exception($this->exception_out("fetch_assoc sans result handler")); } else throw new Exception($this->exception_out("fetch_assoc sans connexion")); } function insert_id(){ if($this->link){ return mysql_insert_id($this->link); } else throw new Exception($this->exception_out("insert_id sans connexion")); } function free_result($rst){ if($this->link){ if($rst){ return mysql_free_result($rst); } else throw new Exception($this->exception_out("free_result sans result handler")); } else throw new Exception($this->exception_out("free_result sans connexion")); } function close(){ if($this->link) return mysql_close($this->link); return true; } function exception_out($message){ return "[erreur] mysql : ".$message; } } ?>