Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JDatabaseDriverMysql
+ Graphe d'héritage de JDatabaseDriverMysql:
+ Graphe de collaboration de JDatabaseDriverMysql:

Liste de tous les membres

Fonctions membres publiques

 __construct ($options)
 __destruct ()
 connect ()
 disconnect ()
 escape ($text, $extra=false)
 connected ()
 getAffectedRows ()
 getNumRows ($cursor=null)
 getVersion ()
 insertid ()
 execute ()
 select ($database)
 setUTF ()
- Fonctions membres publiques inherited from JDatabaseDriverMysqli
 dropTable ($tableName, $ifExists=true)
 getCollation ()
 getTableCreate ($tables)
 getTableColumns ($table, $typeOnly=true)
 getTableKeys ($table)
 getTableList ()
 lockTable ($table)
 renameTable ($oldTable, $newTable, $backup=null, $prefix=null)
 transactionCommit ($toSavepoint=false)
 transactionRollback ($toSavepoint=false)
 transactionStart ($asSavepoint=false)
 unlockTables ()
- Fonctions membres publiques inherited from JDatabaseDriver
 __call ($method, $args)
 alterDbCharacterSet ($dbName)
 createDatabase ($options, $utf=true)
 addDisconnectHandler ($callable)
 getConnection ()
 getCount ()
 getDateFormat ()
 getLog ()
 getTimings ()
 getCallStacks ()
 getMinimum ()
 getNullDate ()
 getPrefix ()
 getExporter ()
 getImporter ()
 getQuery ($new=false)
 getIterator ($column=null, $class= 'stdClass')
 getUTFSupport ()
 hasUTFSupport ()
 insertObject ($table, &$object, $key=null)
 isMinimumVersion ()
 loadAssoc ()
 loadAssocList ($key=null, $column=null)
 loadColumn ($offset=0)
 loadNextObject ($class= 'stdClass')
 loadNextRow ()
 loadObject ($class= 'stdClass')
 loadObjectList ($key= '', $class= 'stdClass')
 loadResult ()
 loadRow ()
 loadRowList ($key=null)
 quote ($text, $escape=true)
 quoteName ($name, $as=null)
 replacePrefix ($sql, $prefix= '#__')
 setDebug ($level)
 setQuery ($query, $offset=0, $limit=0)
 truncateTable ($table)
 updateObject ($table, &$object, $key, $nulls=false)
- Fonctions membres publiques inherited from JDatabase
 query ()
 getErrorMsg ($escaped=false)
 getErrorNum ()
 stderr ($showSQL=false)

Fonctions membres publiques statiques

static isSupported ()

Attributs publics

 $name = 'mysql'
- Attributs publics inherited from JDatabaseDriverMysqli
- Attributs publics inherited from JDatabaseDriver

Fonctions membres protégées

 fetchArray ($cursor=null)
 fetchAssoc ($cursor=null)
 fetchObject ($cursor=null, $class= 'stdClass')
 freeResult ($cursor=null)

Fonctions membres privées

 hasProfiling ()

Additional Inherited Members

- Attributs protégés inherited from JDatabaseDriverMysqli
 $nameQuote = '`'
 $nullDate = '0000-00-00 00:00:00'
- Attributs protégés inherited from JDatabaseDriver
 $connection
 $count = 0
 $cursor
 $debug = false
 $limit = 0
 $log = array()
 $timings = array()
 $callStacks = array()
 $offset = 0
 $options
 $sql
 $tablePrefix
 $utf = true
 $errorNum = 0
 $errorMsg
 $transactionDepth = 0
 $disconnectHandlers = array()
- Attributs protégés statiques inherited from JDatabaseDriverMysqli
static $dbMinimum = '5.0.4'
- Attributs protégés statiques inherited from JDatabaseDriver
static $instances = array()

Description détaillée

Définition à la ligne 20 du fichier mysql.php.


Documentation des constructeurs et destructeur

JDatabaseDriverMysql::__construct (   $options)

Constructor.

Paramètres:
array$optionsArray of database options with keys: host, user, password, database, select.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 37 du fichier mysql.php.

{
// Get some basic values from the options.
$options['host'] = (isset($options['host'])) ? $options['host'] : 'localhost';
$options['user'] = (isset($options['user'])) ? $options['user'] : 'root';
$options['password'] = (isset($options['password'])) ? $options['password'] : '';
$options['database'] = (isset($options['database'])) ? $options['database'] : '';
$options['select'] = (isset($options['select'])) ? (bool) $options['select'] : true;
// Finalize initialisation.
}
JDatabaseDriverMysql::__destruct ( )

Destructor.

Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 55 du fichier mysql.php.

{
$this->disconnect();
}

Documentation des fonctions membres

JDatabaseDriverMysql::connect ( )

Connects to the database if needed.

Renvoie:
void Returns void if the database connected successfully.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 68 du fichier mysql.php.

{
if ($this->connection)
{
return;
}
// Make sure the MySQL extension for PHP is installed and enabled.
if (!function_exists('mysql_connect'))
{
throw new RuntimeException('Could not connect to MySQL.');
}
// Attempt to connect to the server.
if (!($this->connection = @ mysql_connect($this->options['host'], $this->options['user'], $this->options['password'], true)))
{
throw new RuntimeException('Could not connect to MySQL.');
}
// Set sql_mode to non_strict mode
mysql_query("SET @@SESSION.sql_mode = '';", $this->connection);
// If auto-select is enabled select the given database.
if ($this->options['select'] && !empty($this->options['database']))
{
$this->select($this->options['database']);
}
// Set charactersets (needed for MySQL 4.1.2+).
$this->setUTF();
// Turn MySQL profiling ON in debug mode:
if ($this->debug && $this->hasProfiling())
{
mysql_query("SET profiling = 1;", $this->connection);
}
}
JDatabaseDriverMysql::connected ( )

Determines if the connection to the server is active.

Renvoie:
boolean True if connected to the database engine.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 172 du fichier mysql.php.

{
if (is_resource($this->connection))
{
return @mysql_ping($this->connection);
}
return false;
}
JDatabaseDriverMysql::disconnect ( )

Disconnects the database.

Renvoie:
void
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 113 du fichier mysql.php.

{
// Close the connection.
if (is_resource($this->connection))
{
foreach ($this->disconnectHandlers as $h)
{
call_user_func_array($h, array( &$this));
}
mysql_close($this->connection);
}
$this->connection = null;
}
JDatabaseDriverMysql::escape (   $text,
  $extra = false 
)

Method to escape a string for usage in an SQL statement.

Paramètres:
string$textThe string to be escaped.
boolean$extraOptional parameter to provide extra escaping.
Renvoie:
string The escaped string.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 139 du fichier mysql.php.

{
$this->connect();
$result = mysql_real_escape_string($text, $this->getConnection());
if ($extra)
{
$result = addcslashes($result, '%_');
}
return $result;
}
JDatabaseDriverMysql::execute ( )

Execute the SQL statement.

Renvoie:
mixed A database cursor resource on success, boolean false on failure.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 248 du fichier mysql.php.

Références JLog\add(), JLog\DEBUG, JLog\ERROR, et JText\sprintf().

{
$this->connect();
if (!is_resource($this->connection))
{
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'database');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
// Take a local copy so that we don't modify the original query and cause issues later
$query = $this->replacePrefix((string) $this->sql);
if (!($this->sql instanceof JDatabaseQuery) && ($this->limit > 0 || $this->offset > 0))
{
$query .= ' LIMIT ' . $this->offset . ', ' . $this->limit;
}
// Increment the query counter.
$this->count++;
// Reset the error values.
$this->errorNum = 0;
$this->errorMsg = '';
// If debugging is enabled then let's log the query.
if ($this->debug)
{
// Add the query to the object queue.
$this->log[] = $query;
JLog::add($query, JLog::DEBUG, 'databasequery');
$this->timings[] = microtime(true);
}
// Execute the query. Error suppression is used here to prevent warnings/notices that the connection has been lost.
$this->cursor = @mysql_query($query, $this->connection);
if ($this->debug)
{
$this->timings[] = microtime(true);
if (defined('DEBUG_BACKTRACE_IGNORE_ARGS'))
{
$this->callStacks[] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
}
else
{
$this->callStacks[] = debug_backtrace();
}
}
// If an error occurred handle it.
if (!$this->cursor)
{
// Check if the server was disconnected.
if (!$this->connected())
{
try
{
// Attempt to reconnect.
$this->connection = null;
$this->connect();
}
// If connect fails, ignore that exception and throw the normal exception.
catch (RuntimeException $e)
{
// Get the error number and message.
$this->errorNum = (int) mysql_errno($this->connection);
$this->errorMsg = (string) mysql_error($this->connection) . ' SQL=' . $query;
// Throw the normal query exception.
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'databasequery');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
// Since we were able to reconnect, run the query again.
return $this->execute();
}
// The server was not disconnected.
else
{
// Get the error number and message.
$this->errorNum = (int) mysql_errno($this->connection);
$this->errorMsg = (string) mysql_error($this->connection) . ' SQL=' . $query;
// Throw the normal query exception.
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'databasequery');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
}
return $this->cursor;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriverMysql::fetchArray (   $cursor = null)
protected

Method to fetch a row from the result set cursor as an array.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 394 du fichier mysql.php.

{
return mysql_fetch_row($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverMysql::fetchAssoc (   $cursor = null)
protected

Method to fetch a row from the result set cursor as an associative array.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 408 du fichier mysql.php.

{
return mysql_fetch_assoc($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverMysql::fetchObject (   $cursor = null,
  $class = 'stdClass' 
)
protected

Method to fetch a row from the result set cursor as an object.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
string$classThe class name to use for the returned row object.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 423 du fichier mysql.php.

{
return mysql_fetch_object($cursor ? $cursor : $this->cursor, $class);
}
JDatabaseDriverMysql::freeResult (   $cursor = null)
protected

Method to free up the memory used for the result set.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
void
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 437 du fichier mysql.php.

{
mysql_free_result($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverMysql::getAffectedRows ( )

Get the number of affected rows for the previous executed SQL statement.

Renvoie:
integer The number of affected rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 189 du fichier mysql.php.

{
$this->connect();
return mysql_affected_rows($this->connection);
}
JDatabaseDriverMysql::getNumRows (   $cursor = null)

Get the number of returned rows for the previous executed SQL statement.

Paramètres:
resource$cursorAn optional database cursor resource to extract the row count from.
Renvoie:
integer The number of returned rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 205 du fichier mysql.php.

{
$this->connect();
return mysql_num_rows($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverMysql::getVersion ( )

Get the version of the database connector.

Renvoie:
string The database connector version.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 219 du fichier mysql.php.

{
$this->connect();
return mysql_get_server_info($this->connection);
}
JDatabaseDriverMysql::hasProfiling ( )
private

Internal function to check if profiling is available

Renvoie:
boolean
Depuis:
3.1.3

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 449 du fichier mysql.php.

{
try
{
$res = mysql_query("SHOW VARIABLES LIKE 'have_profiling'", $this->connection);
$row = mysql_fetch_assoc($res);
return isset($row);
}
catch (Exception $e)
{
return false;
}
}
JDatabaseDriverMysql::insertid ( )

Method to get the auto-incremented value from the last INSERT statement.

Renvoie:
integer The value of the auto-increment field from the last inserted row.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 233 du fichier mysql.php.

{
$this->connect();
return mysql_insert_id($this->connection);
}
static JDatabaseDriverMysql::isSupported ( )
static

Test to see if the MySQL connector is available.

Renvoie:
boolean True on success, false otherwise.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 160 du fichier mysql.php.

{
return (function_exists('mysql_connect'));
}
JDatabaseDriverMysql::select (   $database)

Select a database for use.

Paramètres:
string$databaseThe name of the database to select for use.
Renvoie:
boolean True if the database was successfully selected.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 354 du fichier mysql.php.

{
$this->connect();
if (!$database)
{
return false;
}
if (!mysql_select_db($database, $this->connection))
{
throw new RuntimeException('Could not connect to database');
}
return true;
}
JDatabaseDriverMysql::setUTF ( )

Set the connection to use UTF-8 character encoding.

Renvoie:
boolean True on success.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 378 du fichier mysql.php.

{
$this->connect();
return mysql_set_charset('utf8', $this->connection);
}

Documentation des données membres

JDatabaseDriverMysql::$name = 'mysql'

Réimplémentée à partir de JDatabaseDriverMysqli.

Définition à la ligne 28 du fichier mysql.php.


La documentation de cette classe a été générée à partir du fichier suivant :