function extention_ok(&$env) { return $this->EXTENTION_OK; }
- function mw_mysql($host, $base, $user, $password){
- $this->host = $host;
- $this->base = $base;
- $this->user = $user;
- $this->password = $password;
+ function authentication_required() { return true; }
+
+ function sgbd_name() { return "MySql"; }
+
+ function mw_mysql($params = array()){
+ $this->host = isset($params["host"]) ? $params["host"] : "localhost";
+ $this->base = isset($params["base"]) ? $params["base"] : "mtweb";
+ $this->user = isset($params["user"]) ? $params["user"] : "";
+ $this->password = isset($params["password"]) ? $params["password"] : "";
$this->EXTENTION_OK = function_exists("mysql_connect");
}
return $desc;
}
- function table_exists($table){\r
+ function table_exists($table_name){\r
if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password);\r
- $rst = $this->query("SHOW TABLES");\r
- while($v_rst = mysql_fetch_array($rst)){\r
- if(strcmp($v_rst[0], $table) == 0) return true;\r
- }\r
- mysql_free_result($rst);\r
- return false;\r
+ $EXISTS = false;
+ try{
+ $rst = $this->query("SHOW TABLES");
+ while($v_rst = mysql_fetch_row($rst)){\r
+ if($v_rst[0] == $table_name){
+ $EXISTS = true;
+ break;
+ }\r
+ }\r
+ $this->free_result($rst);
+ }
+ catch(Exception $e){
+ throw new Exception($this->exception_out("Impossible de savoir si la table existe"));
+ }
+ return $EXISTS;
}
function field_exists($table_name, $field_name){
- if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password);
- $sql = "SHOW COLUMNS FROM `".$table_name."` LIKE ".$field_name;
- $rst = $this->query($sql);
- $exists = false;
- $v_rst = $this->fetch_assoc($rst);
- if($v_rst) $exists = true;
- $this->free_result($rst);
- return $exists;
+ if(!$this->link) $this->connect($this->host, $this->base, $this->user, $this->password);\r
+ if(!($desc = $this->desc_table($table_name))){
+ throw new Exception($this->exception_out("Impossible de lire la description de la table"));
+ }
+ $EXISTS = false;
+ foreach($desc["attributs"] as $attribut_name => $attribut){
+ if($field_name == $attribut_name){
+ $EXISTS = true;
+ break;
+ }
+ }
+ return $EXISTS;
}
function query($query_string){\r