Fix: Remplacement des fonctions deprecated de création de base par la fonction générique recommandée.

This commit is contained in:
Laurent Destailleur 2005-03-26 12:42:09 +00:00
parent 001bc0c0c4
commit 8633dfa214
3 changed files with 492 additions and 501 deletions

View File

@ -280,7 +280,7 @@ if ($_POST["action"] == "set")
print $langs->trans("UserCreation").' : '; print $langs->trans("UserCreation").' : ';
print $dolibarr_main_db_user; print $dolibarr_main_db_user;
print '</td>'; print '</td>';
print "<td>Deja existant</td></tr>"; print '<td>'.$langs->trans("LoginAlreadyExists").'</td></tr>';
} }
else else
{ {
@ -343,7 +343,7 @@ if ($_POST["action"] == "set")
} // Fin si "creation utilisateur" } // Fin si "creation utilisateur"
/* /*
* Si creation database demandée, on la crée * 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); 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->connected)
{ {
if ($db->create_db($dolibarr_main_db_pass)) if ($db->create_db($dolibarr_main_db_name))
{ {
print '<tr><td>'; print '<tr><td>';
print $langs->trans("DatabaseCreation").' : '; print $langs->trans("DatabaseCreation").' : ';
@ -369,7 +369,7 @@ if ($_POST["action"] == "set")
print $langs->trans("DatabaseCreation").' : '; print $langs->trans("DatabaseCreation").' : ';
print $dolibarr_main_db_name; print $dolibarr_main_db_name;
print '</td>'; print '</td>';
print "<td>".$langs->trans("Error")."</td></tr>"; print '<td>'.$langs->trans("Error").' '.$db->errno().'</td></tr>';
// Affiche aide diagnostique // Affiche aide diagnostique
print '<tr><td colspan="2"><br>La création de la base Dolibarr ('.$dolibarr_main_db_name.') a échoué.'; print '<tr><td colspan="2"><br>La création de la base Dolibarr ('.$dolibarr_main_db_name.') a échoué.';

View File

@ -22,7 +22,7 @@
* *
*/ */
/** /**
\file htdocs/lib/mysql.lib.php \file htdocs/lib/mysql.lib.php
\brief Fichier de la classe permettant de gérer une base mysql \brief Fichier de la classe permettant de gérer une base mysql
\author Fabien Seisen \author Fabien Seisen
@ -39,481 +39,477 @@
class DoliDb class DoliDb
{ {
var $db; // Handler de base var $db; // Handler de base
var $type='mysql'; // Nom du gestionnaire 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 $results; // Resultset de la dernière requete
\brief Défini les limites de la requète.
\param limit var $connected; // 1 si connecté, 0 sinon
\param offset var $database_selected; // 1 si base sélectionné, 0 sinon
\return int Limite var $transaction_opened; // 1 si une transaction est en cours, 0 sinon
*/
var $ok;
function plimit($limit=0,$offset=0)
{ // Constantes pour conversion code erreur MySql en code erreur générique
if ($offset > 0) var $errorcode_map = array(
{ 1004 => 'DB_ERROR_CANNOT_CREATE',
return " LIMIT $offset,$limit "; 1005 => 'DB_ERROR_CANNOT_CREATE',
} 1006 => 'DB_ERROR_CANNOT_CREATE',
else 1007 => 'DB_ERROR_ALREADY_EXISTS',
{ 1008 => 'DB_ERROR_CANNOT_DROP',
return " LIMIT $limit "; 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',
\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) 1100 => 'DB_ERROR_NOT_LOCKED',
afin de retourner une donnée toujours au format universel date tms unix. 1136 => 'DB_ERROR_VALUE_COUNT_ON_ROW',
\param fname 1146 => 'DB_ERROR_NOSUCHTABLE',
\return date 1048 => 'DB_ERROR_CONSTRAINT',
*/ 1217 => 'DB_ERROR_CHILD_EXISTS'
function pdate($fname) );
{
return "unix_timestamp($fname)"; /**
} \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
\brief Formatage de la date en fonction des locales. \param user nom de l'utilisateur autoris
\param fname \param pass mot de passe
\return date \param name nom de la database
*/ \return int 1 en cas de succès, 0 sinon
function idate($fname) */
{ function DoliDb($type='mysql', $host, $user, $pass, $name='', $newlink=0)
return strftime("%Y%m%d%H%M%S",$fname); {
} global $conf;
$this->transaction_opened=0;
/**
\brief Renvoie la derniere requete soumise par la methode query() // Essai connexion serveur
\return lastquery $this->db = $this->connect($host, $user, $pass, $newlink);
*/
if ($this->db)
function lastquery() {
{ $this->connected = 1;
return $this->lastquery; $this->ok = 1;
} }
else
/** {
\brief Renvoie le code erreur generique de l'operation precedente. $this->connected = 0;
\return error_num (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...) $this->ok = 0;
*/ dolibarr_syslog("DoliDB::DoliDB : Erreur Connect");
}
function errno()
{ // 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)])) { if (isset($this->errorcode_map[mysql_errno($this->db)])) {
return $this->errorcode_map[mysql_errno($this->db)]; return $this->errorcode_map[mysql_errno($this->db)];
} }
return 'DB_ERROR_'.mysql_errno($this->db); return 'DB_ERROR_'.mysql_errno($this->db);
} }
/** /**
\brief Renvoie le texte de l'erreur mysql de l'operation precedente. \brief Renvoie le texte de l'erreur mysql de l'operation precedente.
\return error_text \return error_text
*/ */
function error() function error()
{ {
return mysql_error($this->db); return mysql_error($this->db);
} }
/** /**
\brief Récupère l'id genéré par le dernier INSERT. \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 \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 \return int id
*/ */
function last_insert_id($tab) function last_insert_id($tab)
{ {
return mysql_insert_id($this->db); return mysql_insert_id($this->db);
} }
/** /**
\brief Retourne le dsn pear \brief Retourne le dsn pear
\return dsn \return dsn
*/ */
function getdsn($db_type,$db_user,$db_pass,$db_host,$dbname) function getdsn($db_type,$db_user,$db_pass,$db_host,$dbname)
{ {
$pear = $db_type.'://'.$db_user.':'.$db_pass.'@'. $pear = $db_type.'://'.$db_user.':'.$db_pass.'@'.
$db_host.'/'.$db_name; $db_host.'/'.$db_name;
return $pear; return $pear;
} }
/** /**
\brief Liste des tables dans une database. \brief Liste des tables dans une database.
\param database Nom de la database \param database Nom de la database
\return resource \return resource
*/ */
function list_tables($database) function list_tables($database)
{ {
$this->results = mysql_list_tables($database, $this->db); $this->results = mysql_list_tables($database, $this->db);
return $this->results; return $this->results;
} }
} }
?> ?>

View File

@ -148,27 +148,22 @@ class DoliDb
} }
/** /**
\brief Connexion sur une base de donnée \brief Création d'une nouvelle base de donnée
\param database nom de la database \param database nom de la database à créer
\return result resultat 1 pour ok, 0 pour non ok \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) function create_db($database)
{ {
if(createdb($database, $this->db)) $ret=$this->query('CREATE DATABASE '.$database.';');
{ return $ret;
return 1;
}
else
{
return 0;
}
} }
/** /**
\brief Copie d'un handler de database. \brief Copie d'un handler de database.
\return resource \return resource
*/ */
function dbclone() function dbclone()
@ -179,12 +174,12 @@ class DoliDb
} }
/** /**
\brief Ouverture d'une connection vers une database. \brief Ouverture d'une connection vers une database.
\param host Adresse de la base de données \param host Adresse de la base de données
\param login Nom de l'utilisateur autorisé \param login Nom de l'utilisateur autorisé
\param passwd Mot de passe \param passwd Mot de passe
\param name Nom de la database \param name Nom de la database
\return resource handler d'accès à la base \return resource handler d'accès à la base
*/ */
function pconnect($host, $login, $passwd, $name) function pconnect($host, $login, $passwd, $name)
@ -195,8 +190,8 @@ class DoliDb
} }
/** /**
\brief Fermeture d'une connection vers une database. \brief Fermeture d'une connection vers une database.
\return resource \return resource
*/ */
function close() function close()