diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index f4f4deaccc7..1c3dad040e5 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -280,7 +280,7 @@ if ($_POST["action"] == "set") print $langs->trans("UserCreation").' : '; print $dolibarr_main_db_user; print ''; - print "Deja existant"; + print ''.$langs->trans("LoginAlreadyExists").''; } else { @@ -343,7 +343,7 @@ if ($_POST["action"] == "set") } // Fin si "creation utilisateur" - + /* * Si creation database demandée, on la crée */ @@ -351,11 +351,11 @@ if ($_POST["action"] == "set") { dolibarr_syslog ("Creation de la base : ".$dolibarr_main_db_name); - $db = new DoliDb($conf->db->type,$conf->db->host,$userroot,$passroot,$conf->db->name); - + $db = new DoliDb($conf->db->type,$conf->db->host,$userroot,$passroot); + if ($db->connected) { - if ($db->create_db($dolibarr_main_db_pass)) + if ($db->create_db($dolibarr_main_db_name)) { print ''; print $langs->trans("DatabaseCreation").' : '; @@ -369,7 +369,7 @@ if ($_POST["action"] == "set") print $langs->trans("DatabaseCreation").' : '; print $dolibarr_main_db_name; print ''; - print "".$langs->trans("Error").""; + print ''.$langs->trans("Error").' '.$db->errno().''; // Affiche aide diagnostique print '
La création de la base Dolibarr ('.$dolibarr_main_db_name.') a échoué.'; diff --git a/htdocs/lib/mysql.lib.php b/htdocs/lib/mysql.lib.php index 3abd249779f..5e57c0a2946 100644 --- a/htdocs/lib/mysql.lib.php +++ b/htdocs/lib/mysql.lib.php @@ -22,7 +22,7 @@ * */ -/** +/** \file htdocs/lib/mysql.lib.php \brief Fichier de la classe permettant de gérer une base mysql \author Fabien Seisen @@ -39,481 +39,477 @@ class DoliDb { - var $db; // Handler de base - var $type='mysql'; // Nom du gestionnaire - - var $results; // Resultset de la dernière requete - - var $connected; // 1 si connecté, 0 sinon - var $database_selected; // 1 si base sélectionné, 0 sinon - var $transaction_opened; // 1 si une transaction est en cours, 0 sinon - - var $ok; - - // Constantes pour conversion code erreur MySql en code erreur générique - var $errorcode_map = array( - 1004 => 'DB_ERROR_CANNOT_CREATE', - 1005 => 'DB_ERROR_CANNOT_CREATE', - 1006 => 'DB_ERROR_CANNOT_CREATE', - 1007 => 'DB_ERROR_ALREADY_EXISTS', - 1008 => 'DB_ERROR_CANNOT_DROP', - 1046 => 'DB_ERROR_NODBSELECTED', - 1050 => 'DB_ERROR_TABLE_ALREADY_EXISTS', - 1051 => 'DB_ERROR_NOSUCHTABLE', - 1054 => 'DB_ERROR_NOSUCHFIELD', - 1062 => 'DB_ERROR_RECORD_ALREADY_EXISTS', - 1064 => 'DB_ERROR_SYNTAX', - 1100 => 'DB_ERROR_NOT_LOCKED', - 1136 => 'DB_ERROR_VALUE_COUNT_ON_ROW', - 1146 => 'DB_ERROR_NOSUCHTABLE', - 1048 => 'DB_ERROR_CONSTRAINT', - 1217 => 'DB_ERROR_CHILD_EXISTS' - ); - - /** - \brief Ouverture d'une connection vers le serveur et éventuellement une database. - \param type type de base de données (mysql ou pgsql) - \param host addresse de la base de données - \param user nom de l'utilisateur autorisé - \param pass mot de passe - \param name nom de la database - \return int 1 en cas de succès, 0 sinon - */ - function DoliDb($type='mysql', $host, $user, $pass, $name='', $newlink=0) - { - global $conf; - $this->transaction_opened=0; - - // Essai connexion serveur - $this->db = $this->connect($host, $user, $pass, $newlink); - - if ($this->db) - { - $this->connected = 1; - $this->ok = 1; - } - else - { - $this->connected = 0; - $this->ok = 0; - dolibarr_syslog("DoliDB::DoliDB : Erreur Connect"); - } - - // Si connexion serveur ok et si connexion base demandée, on essaie connexion base - if ($this->connected && $name) - { - if ($this->select_db($name) == 1) - { - $this->database_selected = 1; - $this->ok = 1; - } - else - { - $this->database_selected = 0; - $this->ok = 0; - dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db"); - } - } - else - { - // Pas de selection de base demandée, ok ou ko - $this->database_selected = 0; - } - - return $this->ok; - } - - /** - \brief Selectionne une database. - \param database nom de la database - \return resource - */ - - function select_db($database) - { - return mysql_select_db($database, $this->db); - } - - /** - \brief Connection vers le serveur - \param host addresse de la base de données - \param login nom de l'utilisateur autoris - \param passwd mot de passe - \return resource handler d'accès à la base - */ - - function connect($host, $login, $passwd, $newlink=0) - { - $this->db = @mysql_connect($host, $login, $passwd, $newlink); - //print "Resultat fonction connect: ".$this->db; - return $this->db; - } - - /** - \brief Connexion sur une base de donnée - \param database nom de la database - \return result resultat 1 pour ok, 0 pour non ok - */ - - function create_db($database) - { - if (mysql_create_db ($database, $this->db)) - { - return 1; - } - else - { - return 0; - } - } - - /** - \brief Copie d'un handler de database. - \return resource - */ - - function dbclone() - { - $db2 = new DoliDb("", "", "", "", ""); - $db2->db = $this->db; - return $db2; - } - - /** - \brief Ouverture d'une connection vers une database. - \param host Adresse de la base de données - \param login Nom de l'utilisateur autorisé - \param passwd Mot de passe - \return resource handler d'accès à la base - */ - - function pconnect($host, $login, $passwd) - { - $this->db = mysql_pconnect($host, $login, $passwd); - return $this->db; - } - - /** - \brief Fermeture d'une connection vers une database. - \return resource - */ - - function close() - { - return mysql_close($this->db); - } - - - /** - \brief Debut d'une transaction. - \return int 1 si ouverture transaction ok ou deja ouverte, 0 en cas d'erreur - */ - - function begin() - { - if (! $this->transaction_opened) - { - $ret=$this->query("BEGIN"); - if ($ret) $this->transaction_opened++; - return $ret; - } - else - { - $this->transaction_opened++; - return 1; - } - } - - /** - \brief Validation d'une transaction - \return int 1 si validation ok ou niveau de transaction non ouverte, 0 en cas d'erreur - */ - - function commit() - { - if ($this->transaction_opened==1) - { - $ret=$this->query("COMMIT"); - if ($ret) $this->transaction_opened=0; - return $ret; - } - else - { - $this->transaction_opened--; - return 1; - } - } - - /** - \brief Annulation d'une transaction et retour aux anciennes valeurs - \return int 1 si annulation ok ou transaction non ouverte, 0 en cas d'erreur - */ - - function rollback() - { - if ($this->transaction_opened) - { - $ret=$this->query("ROLLBACK"); - $this->transaction_opened=0; - return $ret; - } - else - { - return 1; - } - } - - /** - \brief Effectue une requete et renvoi le resultset de réponse de la base - \param query Contenu de la query - \return resource Resultset de la reponse - */ - - function query($query) - { - $query = trim($query); - $ret = mysql_query($query, $this->db); - - if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) { - // Si requete utilisateur, on la sauvegarde ainsi que son resultset - $this->lastquery=$query; - $this->results = $ret; - } - - return $ret; - } - - /** - \brief Renvoie les données de la requete. - \param nb Contenu de la query - \param fieldname Nom du champ - \return resource - */ - - function result($nb, $fieldname) - { - return mysql_result($this->results, $nb, $fieldname); - } - - /** - \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. - \param resultset Curseur de la requete voulue - \return resource - */ - - function fetch_object($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_fetch_object($resultset); - } - - /** - \brief Renvoie les données dans un tableau. - \param resultset Curseur de la requete voulue - \return array - */ - - function fetch_array($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_fetch_array($resultset); - } - - /** - \brief Renvoie les données comme un tableau. - \param resultset Curseur de la requete voulue - \return array - */ - - function fetch_row($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_fetch_row($resultset); - } - - /** - \brief Obtient les données d'un colonne et renvoie les données sous forme d'objet. - \param resultset Curseur de la requete voulue - \return array - */ - - function fetch_field($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_fetch_field($resultset); - } - - /** - \brief Renvoie le nombre de lignes dans le resultat d'une requete SELECT - \see affected_rows - \param resultset Curseur de la requete voulue - \return int Nombre de lignes - */ - - function num_rows($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_num_rows($resultset); - } - - /** - \brief Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE - \see num_rows - \param resultset Curseur de la requete voulue - \return int Nombre de lignes - */ - - function affected_rows($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - // mysql necessite un link de base pour cette fonction contrairement - // a pqsql qui prend un resultset - return mysql_affected_rows($this->db); - } - - - /** - \brief Renvoie le nombre de champs dans le resultat de la requete. - \param resultset Curseur de la requete voulue - \return int - */ - - function num_fields($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_num_fields($resultset); - } - - /** - \brief Libère le dernier resultset utilisé sur cette connexion. - \param resultset Curseur de la requete voulue - \return resource - */ - - function free($resultset=0) - { - // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion - if (! is_resource($resultset)) { $resultset=$this->results; } - return mysql_free_result($resultset); - } + var $db; // Handler de base + var $type='mysql'; // Nom du gestionnaire - /** - \brief Défini les limites de la requète. - \param limit - \param offset - \return int Limite - */ - - function plimit($limit=0,$offset=0) - { - if ($offset > 0) - { - return " LIMIT $offset,$limit "; - } - else - { - return " LIMIT $limit "; - } - } - - - /** - \brief Formatage par la base de données d'un champ de la base au format Timestamp ou Date (YYYY-MM-DD HH:MM:SS) - afin de retourner une donnée toujours au format universel date tms unix. - \param fname - \return date - */ - function pdate($fname) - { - return "unix_timestamp($fname)"; - } - - /** - \brief Formatage de la date en fonction des locales. - \param fname - \return date - */ - function idate($fname) - { - return strftime("%Y%m%d%H%M%S",$fname); - } - - /** - \brief Renvoie la derniere requete soumise par la methode query() - \return lastquery - */ - - function lastquery() - { - return $this->lastquery; - } - - /** - \brief Renvoie le code erreur generique de l'operation precedente. - \return error_num (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...) - */ - - function errno() - { + var $results; // Resultset de la dernière requete + + var $connected; // 1 si connecté, 0 sinon + var $database_selected; // 1 si base sélectionné, 0 sinon + var $transaction_opened; // 1 si une transaction est en cours, 0 sinon + + var $ok; + + // Constantes pour conversion code erreur MySql en code erreur générique + var $errorcode_map = array( + 1004 => 'DB_ERROR_CANNOT_CREATE', + 1005 => 'DB_ERROR_CANNOT_CREATE', + 1006 => 'DB_ERROR_CANNOT_CREATE', + 1007 => 'DB_ERROR_ALREADY_EXISTS', + 1008 => 'DB_ERROR_CANNOT_DROP', + 1046 => 'DB_ERROR_NODBSELECTED', + 1050 => 'DB_ERROR_TABLE_ALREADY_EXISTS', + 1051 => 'DB_ERROR_NOSUCHTABLE', + 1054 => 'DB_ERROR_NOSUCHFIELD', + 1062 => 'DB_ERROR_RECORD_ALREADY_EXISTS', + 1064 => 'DB_ERROR_SYNTAX', + 1100 => 'DB_ERROR_NOT_LOCKED', + 1136 => 'DB_ERROR_VALUE_COUNT_ON_ROW', + 1146 => 'DB_ERROR_NOSUCHTABLE', + 1048 => 'DB_ERROR_CONSTRAINT', + 1217 => 'DB_ERROR_CHILD_EXISTS' + ); + + /** + \brief Ouverture d'une connection vers le serveur et éventuellement une database. + \param type type de base de données (mysql ou pgsql) + \param host addresse de la base de données + \param user nom de l'utilisateur autoris + \param pass mot de passe + \param name nom de la database + \return int 1 en cas de succès, 0 sinon + */ + function DoliDb($type='mysql', $host, $user, $pass, $name='', $newlink=0) + { + global $conf; + $this->transaction_opened=0; + + // Essai connexion serveur + $this->db = $this->connect($host, $user, $pass, $newlink); + + if ($this->db) + { + $this->connected = 1; + $this->ok = 1; + } + else + { + $this->connected = 0; + $this->ok = 0; + dolibarr_syslog("DoliDB::DoliDB : Erreur Connect"); + } + + // Si connexion serveur ok et si connexion base demandée, on essaie connexion base + if ($this->connected && $name) + { + if ($this->select_db($name) == 1) + { + $this->database_selected = 1; + $this->ok = 1; + } + else + { + $this->database_selected = 0; + $this->ok = 0; + dolibarr_syslog("DoliDB::DoliDB : Erreur Select_db"); + } + } + else + { + // Pas de selection de base demandée, ok ou ko + $this->database_selected = 0; + } + + return $this->ok; + } + + /** + \brief Selectionne une database. + \param database nom de la database + \return resource + */ + + function select_db($database) + { + return mysql_select_db($database, $this->db); + } + + /** + \brief Connection vers le serveur + \param host addresse de la base de données + \param login nom de l'utilisateur autoris + \param passwd mot de passe + \return resource handler d'accès à la base + */ + + function connect($host, $login, $passwd, $newlink=0) + { + $this->db = @mysql_connect($host, $login, $passwd, $newlink); + //print "Resultat fonction connect: ".$this->db; + return $this->db; + } + + /** + \brief Création d'une nouvelle base de donnée + \param database nom de la database à créer + \return resource resource définie si ok, null si ko + \remarks Ne pas utiliser la fonction mysql_create_db qui est deprecated + */ + + function create_db($database) + { + $ret=$this->query('CREATE DATABASE '.$database); + return $ret; + } + + + /** + \brief Copie d'un handler de database. + \return resource + */ + + function dbclone() + { + $db2 = new DoliDb("", "", "", "", ""); + $db2->db = $this->db; + return $db2; + } + + /** + \brief Ouverture d'une connection vers une database. + \param host Adresse de la base de données + \param login Nom de l'utilisateur autoris + \param passwd Mot de passe + \return resource handler d'accès à la base + */ + + function pconnect($host, $login, $passwd) + { + $this->db = mysql_pconnect($host, $login, $passwd); + return $this->db; + } + + /** + \brief Fermeture d'une connection vers une database. + \return resource + */ + + function close() + { + return mysql_close($this->db); + } + + + /** + \brief Debut d'une transaction. + \return int 1 si ouverture transaction ok ou deja ouverte, 0 en cas d'erreur + */ + + function begin() + { + if (! $this->transaction_opened) + { + $ret=$this->query("BEGIN"); + if ($ret) $this->transaction_opened++; + return $ret; + } + else + { + $this->transaction_opened++; + return 1; + } + } + + /** + \brief Validation d'une transaction + \return int 1 si validation ok ou niveau de transaction non ouverte, 0 en cas d'erreur + */ + + function commit() + { + if ($this->transaction_opened==1) + { + $ret=$this->query("COMMIT"); + if ($ret) $this->transaction_opened=0; + return $ret; + } + else + { + $this->transaction_opened--; + return 1; + } + } + + /** + \brief Annulation d'une transaction et retour aux anciennes valeurs + \return int 1 si annulation ok ou transaction non ouverte, 0 en cas d'erreur + */ + + function rollback() + { + if ($this->transaction_opened) + { + $ret=$this->query("ROLLBACK"); + $this->transaction_opened=0; + return $ret; + } + else + { + return 1; + } + } + + /** + \brief Effectue une requete et renvoi le resultset de réponse de la base + \param query Contenu de la query + \return resource Resultset de la reponse + */ + + function query($query) + { + $query = trim($query); + $ret = mysql_query($query, $this->db); + + if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) { + // Si requete utilisateur, on la sauvegarde ainsi que son resultset + $this->lastquery=$query; + $this->results = $ret; + } + + return $ret; + } + + /** + \brief Renvoie les données de la requete. + \param nb Contenu de la query + \param fieldname Nom du champ + \return resource + */ + + function result($nb, $fieldname) + { + return mysql_result($this->results, $nb, $fieldname); + } + + /** + \brief Renvoie la ligne courante (comme un objet) pour le curseur resultset. + \param resultset Curseur de la requete voulue + \return resource + */ + + function fetch_object($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_fetch_object($resultset); + } + + /** + \brief Renvoie les données dans un tableau. + \param resultset Curseur de la requete voulue + \return array + */ + + function fetch_array($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_fetch_array($resultset); + } + + /** + \brief Renvoie les données comme un tableau. + \param resultset Curseur de la requete voulue + \return array + */ + + function fetch_row($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_fetch_row($resultset); + } + + /** + \brief Obtient les données d'un colonne et renvoie les données sous forme d'objet. + \param resultset Curseur de la requete voulue + \return array + */ + + function fetch_field($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_fetch_field($resultset); + } + + /** + \brief Renvoie le nombre de lignes dans le resultat d'une requete SELECT + \see affected_rows + \param resultset Curseur de la requete voulue + \return int Nombre de lignes + */ + + function num_rows($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_num_rows($resultset); + } + + /** + \brief Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE + \see num_rows + \param resultset Curseur de la requete voulue + \return int Nombre de lignes + */ + + function affected_rows($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + // mysql necessite un link de base pour cette fonction contrairement + // a pqsql qui prend un resultset + return mysql_affected_rows($this->db); + } + + + /** + \brief Renvoie le nombre de champs dans le resultat de la requete. + \param resultset Curseur de la requete voulue + \return int + */ + + function num_fields($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_num_fields($resultset); + } + + /** + \brief Libère le dernier resultset utilisé sur cette connexion. + \param resultset Curseur de la requete voulue + \return resource + */ + + function free($resultset=0) + { + // Si le resultset n'est pas fourni, on prend le dernier utilisé sur cette connexion + if (! is_resource($resultset)) { $resultset=$this->results; } + return mysql_free_result($resultset); + } + + /** + \brief Défini les limites de la requète. + \param limit + \param offset + \return int Limite + */ + + function plimit($limit=0,$offset=0) + { + if ($offset > 0) + { + return " LIMIT $offset,$limit "; + } + else + { + return " LIMIT $limit "; + } + } + + + /** + \brief Formatage par la base de données d'un champ de la base au format Timestamp ou Date (YYYY-MM-DD HH:MM:SS) + afin de retourner une donnée toujours au format universel date tms unix. + \param fname + \return date + */ + function pdate($fname) + { + return "unix_timestamp($fname)"; + } + + /** + \brief Formatage de la date en fonction des locales. + \param fname + \return date + */ + function idate($fname) + { + return strftime("%Y%m%d%H%M%S",$fname); + } + + /** + \brief Renvoie la derniere requete soumise par la methode query() + \return lastquery + */ + + function lastquery() + { + return $this->lastquery; + } + + /** + \brief Renvoie le code erreur generique de l'operation precedente. + \return error_num (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...) + */ + + function errno() + { if (isset($this->errorcode_map[mysql_errno($this->db)])) { return $this->errorcode_map[mysql_errno($this->db)]; } return 'DB_ERROR_'.mysql_errno($this->db); - } - - /** - \brief Renvoie le texte de l'erreur mysql de l'operation precedente. - \return error_text - */ - - function error() - { - return mysql_error($this->db); - } - - /** - \brief Récupère l'id genéré par le dernier INSERT. - \param tab Nom de la table concernée par l'insert. Ne sert pas sous MySql mais requis pour compatibilité avec Postgresql - \return int id - */ - - function last_insert_id($tab) - { - return mysql_insert_id($this->db); - } - - /** - \brief Retourne le dsn pear - \return dsn - */ - - function getdsn($db_type,$db_user,$db_pass,$db_host,$dbname) - { - $pear = $db_type.'://'.$db_user.':'.$db_pass.'@'. - $db_host.'/'.$db_name; - - return $pear; - } - - /** - \brief Liste des tables dans une database. - \param database Nom de la database - \return resource - */ - - function list_tables($database) - { - $this->results = mysql_list_tables($database, $this->db); - return $this->results; - } - + } + + /** + \brief Renvoie le texte de l'erreur mysql de l'operation precedente. + \return error_text + */ + + function error() + { + return mysql_error($this->db); + } + + /** + \brief Récupère l'id genéré par le dernier INSERT. + \param tab Nom de la table concernée par l'insert. Ne sert pas sous MySql mais requis pour compatibilité avec Postgresql + \return int id + */ + + function last_insert_id($tab) + { + return mysql_insert_id($this->db); + } + + /** + \brief Retourne le dsn pear + \return dsn + */ + + function getdsn($db_type,$db_user,$db_pass,$db_host,$dbname) + { + $pear = $db_type.'://'.$db_user.':'.$db_pass.'@'. + $db_host.'/'.$db_name; + + return $pear; + } + + /** + \brief Liste des tables dans une database. + \param database Nom de la database + \return resource + */ + + function list_tables($database) + { + $this->results = mysql_list_tables($database, $this->db); + return $this->results; + } + } - + ?> diff --git a/htdocs/lib/pgsql.lib.php b/htdocs/lib/pgsql.lib.php index 28fe4315722..c857dec674a 100644 --- a/htdocs/lib/pgsql.lib.php +++ b/htdocs/lib/pgsql.lib.php @@ -148,27 +148,22 @@ class DoliDb } /** - \brief Connexion sur une base de donnée - \param database nom de la database - \return result resultat 1 pour ok, 0 pour non ok + \brief Création d'une nouvelle base de donnée + \param database nom de la database à créer + \return resource resource définie si ok, null si ko + \remarks Ne pas utiliser les fonctions xxx_create_db (xxx=mysql, ...) car elles sont deprecated */ - + function create_db($database) { - if(createdb($database, $this->db)) - { - return 1; - } - else - { - return 0; - } + $ret=$this->query('CREATE DATABASE '.$database.';'); + return $ret; } - + /** - \brief Copie d'un handler de database. - \return resource + \brief Copie d'un handler de database. + \return resource */ function dbclone() @@ -179,12 +174,12 @@ class DoliDb } /** - \brief Ouverture d'une connection vers une database. - \param host Adresse de la base de données - \param login Nom de l'utilisateur autorisé - \param passwd Mot de passe - \param name Nom de la database - \return resource handler d'accès à la base + \brief Ouverture d'une connection vers une database. + \param host Adresse de la base de données + \param login Nom de l'utilisateur autorisé + \param passwd Mot de passe + \param name Nom de la database + \return resource handler d'accès à la base */ function pconnect($host, $login, $passwd, $name) @@ -195,8 +190,8 @@ class DoliDb } /** - \brief Fermeture d'une connection vers une database. - \return resource + \brief Fermeture d'une connection vers une database. + \return resource */ function close()