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 JDatabaseDriver
+ Graphe d'héritage de JDatabaseDriver:
+ Graphe de collaboration de JDatabaseDriver:

Liste de tous les membres

Fonctions membres publiques

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

Fonctions membres publiques statiques

static getConnectors ()
static getInstance ($options=array())
static splitSql ($sql)
- Fonctions membres publiques statiques inherited from JDatabase
static test ()
- Fonctions membres publiques statiques inherited from JDatabaseInterface
static isSupported ()

Attributs publics

 $name

Fonctions membres protégées

 fetchArray ($cursor=null)
 fetchAssoc ($cursor=null)
 fetchObject ($cursor=null, $class= 'stdClass')
 freeResult ($cursor=null)
 getAlterDbCharacterSet ($dbName)
 getCreateDatabaseQuery ($options, $utf)
 getDatabase ()
 quoteNameStr ($strArr)

Attributs protégés

 $connection
 $count = 0
 $cursor
 $debug = false
 $limit = 0
 $log = array()
 $timings = array()
 $callStacks = array()
 $nameQuote
 $nullDate
 $offset = 0
 $options
 $sql
 $tablePrefix
 $utf = true
 $errorNum = 0
 $errorMsg
 $transactionDepth = 0
 $disconnectHandlers = array()

Attributs protégés statiques

static $instances = array()
static $dbMinimum

Attributs privés

 $_database

Description détaillée

Définition à la ligne 41 du fichier driver.php.


Documentation des constructeurs et destructeur

JDatabaseDriver::__construct (   $options)

Constructor.

Paramètres:
array$optionsList of options used to configure the connection
Depuis:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverOracle, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Définition à la ligne 388 du fichier driver.php.

Références $options.

{
// Initialise object variables.
$this->_database = (isset($options['database'])) ? $options['database'] : '';
$this->tablePrefix = (isset($options['prefix'])) ? $options['prefix'] : 'jos_';
$this->count = 0;
$this->errorNum = 0;
$this->log = array();
// Set class options.
$this->options = $options;
}

Documentation des fonctions membres

JDatabaseDriver::__call (   $method,
  $args 
)

Magic method to provide method alias support for quote() and quoteName().

Paramètres:
string$methodThe called method.
array$argsThe array of arguments passed to the method.
Renvoie:
mixed The aliased method's return value or null.
Depuis:
11.1

Définition à la ligne 363 du fichier driver.php.

Références quote(), et quoteName().

{
if (empty($args))
{
return;
}
switch ($method)
{
case 'q':
return $this->quote($args[0], isset($args[1]) ? $args[1] : true);
break;
case 'qn':
return $this->quoteName($args[0], isset($args[1]) ? $args[1] : null);
break;
}
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::addDisconnectHandler (   $callable)

Adds a function callable just before disconnecting the database. Parameter of the callable is $this JDatabaseDriver

Paramètres:
callable$callableFunction to call in disconnect() method just before disconnecting from database
Renvoie:
void
Depuis:
CMS 3.1.2

Définition à la ligne 494 du fichier driver.php.

{
$this->disconnectHandlers[] = $callable;
}
JDatabaseDriver::alterDbCharacterSet (   $dbName)

Alter database's character set, obtaining query string from protected member.

Paramètres:
string$dbNameThe database name that will be altered
Renvoie:
string The query that alter the database query string
Depuis:
12.2
Exceptions:
RuntimeException

Définition à la ligne 412 du fichier driver.php.

Références execute(), getAlterDbCharacterSet(), et setQuery().

{
if (is_null($dbName))
{
throw new RuntimeException('Database name must not be null.');
}
$this->setQuery($this->getAlterDbCharacterSet($dbName));
return $this->execute();
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::connect ( )
abstract

Connects to the database if needed.

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

Réimplémentée dans JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverMysql.

Référencé par loadAssoc(), loadAssocList(), loadColumn(), loadNextObject(), loadNextRow(), loadObject(), loadObjectList(), loadResult(), loadRow(), et loadRowList().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::connected ( )
abstract

Determines if the connection to the server is active.

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

Réimplémentée dans JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, et JDatabaseDriverMysql.

JDatabaseDriver::createDatabase (   $options,
  $utf = true 
)

Create a new database using information from $options object, obtaining query string from protected member.

Paramètres:
stdClass$optionsObject used to pass user and database name to database driver. This object must have "db_name" and "db_user" set.
boolean$utfTrue if the database supports the UTF-8 character set.
Renvoie:
string The query that creates database
Depuis:
12.2
Exceptions:
RuntimeException

Définition à la ligne 456 du fichier driver.php.

Références $options, $utf, execute(), getCreateDatabaseQuery(), et setQuery().

{
if (is_null($options))
{
throw new RuntimeException('$options object must not be null.');
}
elseif (empty($options->db_name))
{
throw new RuntimeException('$options object must have db_name set.');
}
elseif (empty($options->db_user))
{
throw new RuntimeException('$options object must have db_user set.');
}
return $this->execute();
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::disconnect ( )
abstract
JDatabaseDriver::dropTable (   $table,
  $ifExists = true 
)
abstract

Drops a table from the database.

Paramètres:
string$tableThe name of the database table to drop.
boolean$ifExistsOptionally specify that the table must exist before it is dropped.
Renvoie:
JDatabaseDriver Returns this object to support chaining.
Depuis:
11.4
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::escape (   $text,
  $extra = false 
)
abstract

Escapes 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:
11.1

Réimplémentée dans JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverMysql, et JDatabaseDriverSqlite.

Référencé par quote().

+ Voici le graphe des appelants de cette fonction :

mixed The current SQL statement to JDatabaseDriver::execute ( )
abstract

Execute the SQL statement.

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

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverMysqli, JDatabaseDriverPdo, et JDatabaseDriverMysql.

Référencé par alterDbCharacterSet(), createDatabase(), getIterator(), insertObject(), loadAssoc(), loadAssocList(), loadColumn(), loadNextObject(), loadNextRow(), loadObject(), loadObjectList(), loadResult(), loadRow(), loadRowList(), truncateTable(), et updateObject().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::fetchArray (   $cursor = null)
abstractprotected

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:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Référencé par loadColumn(), loadNextRow(), loadResult(), loadRow(), et loadRowList().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::fetchAssoc (   $cursor = null)
abstractprotected

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:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Référencé par loadAssoc(), et loadAssocList().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::fetchObject (   $cursor = null,
  $class = 'stdClass' 
)
abstractprotected

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:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Référencé par loadNextObject(), loadObject(), et loadObjectList().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::freeResult (   $cursor = null)
abstractprotected

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:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Référencé par loadAssoc(), loadAssocList(), loadColumn(), loadNextObject(), loadNextRow(), loadObject(), loadObjectList(), loadResult(), loadRow(), et loadRowList().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getAffectedRows ( )
abstract

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

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

Réimplémentée dans JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, et JDatabaseDriverMysql.

JDatabaseDriver::getAlterDbCharacterSet (   $dbName)
protected

Return the query string to alter the database character set.

Paramètres:
string$dbNameThe database name
Renvoie:
string The query that alter the database query string
Depuis:
12.2

Réimplémentée dans JDatabaseDriverPostgresql.

Définition à la ligne 587 du fichier driver.php.

Références quoteName().

Référencé par alterDbCharacterSet().

{
return 'ALTER DATABASE ' . $this->quoteName($dbName) . ' CHARACTER SET `utf8`';
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getCallStacks ( )

Get the database driver SQL statement log.

Renvoie:
array SQL statements executed by the database driver.
Depuis:
CMS 3.1.2

Définition à la ligne 702 du fichier driver.php.

Références $callStacks.

{
}
JDatabaseDriver::getCollation ( )
abstract

Method to get the database collation in use by sampling a text field of a table in the database.

Renvoie:
mixed The collation in use by the database or boolean false if not supported.
Depuis:
11.1

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::getConnection ( )

Method that provides access to the underlying database connection. Useful for when you need to call a proprietary method such as postgresql's lo_* methods.

Renvoie:
resource The underlying database connection resource.
Depuis:
11.1

Définition à la ligne 630 du fichier driver.php.

Références $connection.

{
}
static JDatabaseDriver::getConnectors ( )
static

Get a list of available database connectors. The list will only be populated with connectors that both the class exists and the static test method returns true. This gives us the ability to have a multitude of connector classes that are self-aware as to whether or not they are able to be used on a given system.

Renvoie:
array An array of available database connectors.
Depuis:
11.1

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

Définition à la ligne 200 du fichier driver.php.

Référencé par JDatabase\getConnectors(), et JFormFieldDatabaseConnection\getOptions().

{
$connectors = array();
// Get an iterator and loop trough the driver classes.
$iterator = new DirectoryIterator(__DIR__ . '/driver');
foreach ($iterator as $file)
{
$fileName = $file->getFilename();
// Only load for php files.
// Note: DirectoryIterator::getExtension only available PHP >= 5.3.6
if (!$file->isFile() || substr($fileName, strrpos($fileName, '.') + 1) != 'php')
{
continue;
}
// Derive the class name from the type.
$class = str_ireplace('.php', '', 'JDatabaseDriver' . ucfirst(trim($fileName)));
// If the class doesn't exist we have nothing left to do but look at the next type. We did our best.
if (!class_exists($class))
{
continue;
}
// Sweet! Our class exists, so now we just need to know if it passes its test method.
if ($class::isSupported())
{
// Connector names should not have file extensions.
$connectors[] = str_ireplace('.php', '', $fileName);
}
}
return $connectors;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getCount ( )

Get the total number of SQL statements executed by the database driver.

Renvoie:
integer
Depuis:
11.1

Définition à la ligne 642 du fichier driver.php.

Références $count.

{
return $this->count;
}
JDatabaseDriver::getCreateDatabaseQuery (   $options,
  $utf 
)
protected

Return the query string to create new Database. Each database driver, other than MySQL, need to override this member to return correct string.

Paramètres:
stdClass$optionsObject used to pass user and database name to database driver. This object must have "db_name" and "db_user" set.
boolean$utfTrue if the database supports the UTF-8 character set.
Renvoie:
string The query that creates database
Depuis:
12.2

Définition à la ligne 604 du fichier driver.php.

Références $options, $utf, et quoteName().

Référencé par createDatabase().

{
if ($utf)
{
return 'CREATE DATABASE ' . $this->quoteName($options->db_name) . ' CHARACTER SET `utf8`';
}
return 'CREATE DATABASE ' . $this->quoteName($options->db_name);
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getDatabase ( )
protected

Gets the name of the database used by this conneciton.

Renvoie:
string
Depuis:
11.4

Définition à la ligne 654 du fichier driver.php.

Références $_database.

{
}
JDatabaseDriver::getDateFormat ( )

Returns a PHP date() function compliant date format for the database driver.

Renvoie:
string The format string.
Depuis:
11.1

Réimplémentée dans JDatabaseDriverOracle.

Définition à la ligne 666 du fichier driver.php.

{
return 'Y-m-d H:i:s';
}
JDatabaseDriver::getExporter ( )

Gets an exporter class object.

Renvoie:
JDatabaseExporter An exporter object.
Depuis:
12.1
Exceptions:
RuntimeException

Définition à la ligne 762 du fichier driver.php.

{
// Derive the class name from the driver.
$class = 'JDatabaseExporter' . ucfirst($this->name);
// Make sure we have an exporter class for this driver.
if (!class_exists($class))
{
// If it doesn't exist we are at an impasse so throw an exception.
throw new RuntimeException('Database Exporter not found.');
}
$o = new $class;
$o->setDbo($this);
return $o;
}
JDatabaseDriver::getImporter ( )

Gets an importer class object.

Renvoie:
JDatabaseImporter An importer object.
Depuis:
12.1
Exceptions:
RuntimeException

Définition à la ligne 788 du fichier driver.php.

{
// Derive the class name from the driver.
$class = 'JDatabaseImporter' . ucfirst($this->name);
// Make sure we have an importer class for this driver.
if (!class_exists($class))
{
// If it doesn't exist we are at an impasse so throw an exception.
throw new RuntimeException('Database Importer not found');
}
$o = new $class;
$o->setDbo($this);
return $o;
}
static JDatabaseDriver::getInstance (   $options = array())
static

Method to return a JDatabaseDriver instance based on the given options. There are three global options and then the rest are specific to the database driver. The 'driver' option defines which JDatabaseDriver class is used for the connection – the default is 'mysqli'. The 'database' option determines which database is to be used for the connection. The 'select' option determines whether the connector should automatically select the chosen database.

Instances are unique to the given options and new objects are only created when a unique options array is passed into the method. This ensures that we don't end up with unnecessary database connection resources.

Paramètres:
array$optionsParameters to be passed to the database driver.
Renvoie:
JDatabaseDriver A database object.
Depuis:
11.1
Exceptions:
RuntimeException

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

Définition à la ligne 255 du fichier driver.php.

Références $options.

Référencé par JLogLoggerDatabase\connect(), JFactory\createDbo(), et JDatabase\getInstance().

{
// Sanitize the database connector options.
$options['driver'] = (isset($options['driver'])) ? preg_replace('/[^A-Z0-9_\.-]/i', '', $options['driver']) : 'mysqli';
$options['database'] = (isset($options['database'])) ? $options['database'] : null;
$options['select'] = (isset($options['select'])) ? $options['select'] : true;
// Get the options signature for the database connector.
$signature = md5(serialize($options));
// If we already have a database connector instance for these options then just use that.
if (empty(self::$instances[$signature]))
{
// Derive the class name from the driver.
$class = 'JDatabaseDriver' . ucfirst(strtolower($options['driver']));
// If the class still doesn't exist we have nothing left to do but throw an exception. We did our best.
if (!class_exists($class))
{
throw new RuntimeException(sprintf('Unable to load Database Driver: %s', $options['driver']));
}
// Create our new JDatabaseDriver connector based on the options given.
try
{
$instance = new $class($options);
}
catch (RuntimeException $e)
{
throw new RuntimeException(sprintf('Unable to connect to the Database: %s', $e->getMessage()));
}
// Set the new connector to the global instances based on signature.
self::$instances[$signature] = $instance;
}
return self::$instances[$signature];
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getIterator (   $column = null,
  $class = 'stdClass' 
)

Get a new iterator on the current query.

Paramètres:
string$columnAn option column to use as the iterator key.
string$classThe class of object that is returned.
Renvoie:
JDatabaseIterator A new database iterator.
Depuis:
12.1
Exceptions:
RuntimeException

Définition à la ligne 849 du fichier driver.php.

Références execute().

{
// Derive the class name from the driver.
$iteratorClass = 'JDatabaseIterator' . ucfirst($this->name);
// Make sure we have an iterator class for this driver.
if (!class_exists($iteratorClass))
{
// If it doesn't exist we are at an impasse so throw an exception.
throw new RuntimeException(sprintf('class *%s* is not defined', $iteratorClass));
}
// Return a new iterator
return new $iteratorClass($this->execute(), $column, $class);
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::getLog ( )

Get the database driver SQL statement log.

Renvoie:
array SQL statements executed by the database driver.
Depuis:
11.1

Définition à la ligne 678 du fichier driver.php.

Références $log.

{
return $this->log;
}
JDatabaseDriver::getMinimum ( )

Get the minimum supported database version.

Renvoie:
string The minimum version number for the database driver.
Depuis:
12.1

Définition à la ligne 714 du fichier driver.php.

Références $dbMinimum.

{
}
JDatabaseDriver::getNullDate ( )

Get the null or zero representation of a timestamp for the database driver.

Renvoie:
string Null or zero representation of a timestamp.
Depuis:
11.1

Définition à la ligne 726 du fichier driver.php.

Références $nullDate.

{
}
JDatabaseDriver::getNumRows (   $cursor = null)
abstract

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:
11.1

Réimplémentée dans JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, et JDatabaseDriverMysql.

JDatabaseDriver::getPrefix ( )

Get the common table prefix for the database driver.

Renvoie:
string The common database table prefix.
Depuis:
11.1

Définition à la ligne 749 du fichier driver.php.

Références $tablePrefix.

Référencé par replacePrefix().

{
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getQuery (   $new = false)

Get the current query object or a new JDatabaseQuery object.

Paramètres:
boolean$newFalse to return the current query object, True to return a new JDatabaseQuery object.
Renvoie:
JDatabaseQuery The current query object or a new object extending the JDatabaseQuery class.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 816 du fichier driver.php.

Références $sql.

Référencé par insertObject().

{
if ($new)
{
// Derive the class name from the driver.
$class = 'JDatabaseQuery' . ucfirst($this->name);
// Make sure we have a query class for this driver.
if (!class_exists($class))
{
// If it doesn't exist we are at an impasse so throw an exception.
throw new RuntimeException('Database Query Class not found.');
}
return new $class($this);
}
else
{
return $this->sql;
}
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::getTableColumns (   $table,
  $typeOnly = true 
)
abstract

Retrieves field information about the given tables.

Paramètres:
string$tableThe name of the database table.
boolean$typeOnlyTrue (default) to only return field types.
Renvoie:
array An array of fields by table.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::getTableCreate (   $tables)
abstract

Shows the table CREATE statement that creates the given tables.

Paramètres:
mixed$tablesA table name or a list of table names.
Renvoie:
array A list of the create SQL for the tables.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverSqlsrv, JDatabaseDriverMysqli, JDatabaseDriverPostgresql, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::getTableKeys (   $tables)
abstract

Retrieves field information about the given tables.

Paramètres:
mixed$tablesA table name or a list of table names.
Renvoie:
array An array of keys for the table(s).
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::getTableList ( )
abstract

Method to get an array of all tables in the database.

Renvoie:
array An array of all the tables in the database.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, et JDatabaseDriverSqlite.

JDatabaseDriver::getTimings ( )

Get the database driver SQL statement log.

Renvoie:
array SQL statements executed by the database driver.
Depuis:
CMS 3.1.2

Définition à la ligne 690 du fichier driver.php.

Références $timings.

{
}
JDatabaseDriver::getUTFSupport ( )

Determine whether or not the database engine supports UTF-8 character encoding.

Renvoie:
boolean True if the database engine supports UTF-8 character encoding.
Depuis:
11.1
Obsolète:
12.3 (Platform) & 4.0 (CMS) - Use hasUTFSupport() instead

Définition à la ligne 920 du fichier driver.php.

Références JLog\add(), hasUTFSupport(), et JLog\WARNING.

{
JLog::add('JDatabaseDriver::getUTFSupport() is deprecated. Use JDatabaseDriver::hasUTFSupport() instead.', JLog::WARNING, 'deprecated');
return $this->hasUTFSupport();
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::getVersion ( )
abstract

Get the version of the database connector

Renvoie:
string The database connector version.
Depuis:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, JDatabaseDriverOracle, JDatabaseDriverSqlite, et JDatabaseDriverMysql.

Référencé par isMinimumVersion().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::hasUTFSupport ( )

Determine whether or not the database engine supports UTF-8 character encoding.

Renvoie:
boolean True if the database engine supports UTF-8 character encoding.
Depuis:
12.1

Définition à la ligne 933 du fichier driver.php.

Références $utf.

Référencé par getUTFSupport().

{
return $this->utf;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::insertid ( )
abstract

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

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

Réimplémentée dans JDatabaseDriverPdo, JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverMysqli, et JDatabaseDriverMysql.

Référencé par insertObject().

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::insertObject (   $table,
$object,
  $key = null 
)

Inserts a row into a table based on an object's properties.

Paramètres:
string$tableThe name of the database table to insert into.
object&$objectA reference to an object whose public properties match the table fields.
string$keyThe name of the primary key. If provided the object property is updated.
Renvoie:
boolean True on success.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, et JDatabaseDriverSqlsrv.

Définition à la ligne 968 du fichier driver.php.

Références execute(), getQuery(), insertid(), quote(), quoteName(), et setQuery().

{
$fields = array();
$values = array();
// Iterate over the object variables to build the query fields and values.
foreach (get_object_vars($object) as $k => $v)
{
// Only process non-null scalars.
if (is_array($v) or is_object($v) or $v === null)
{
continue;
}
// Ignore any internal fields.
if ($k[0] == '_')
{
continue;
}
// Prepare and sanitize the fields and values for the database query.
$fields[] = $this->quoteName($k);
$values[] = $this->quote($v);
}
// Create the base insert statement.
$query = $this->getQuery(true)
->insert($this->quoteName($table))
->columns($fields)
->values(implode(',', $values));
// Set the query and execute the insert.
$this->setQuery($query);
if (!$this->execute())
{
return false;
}
// Update the primary key if it exists.
$id = $this->insertid();
if ($key && $id && is_string($key))
{
$object->$key = $id;
}
return true;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::isMinimumVersion ( )

Method to check whether the installed database version is supported by the database driver

Renvoie:
boolean True if the database version is supported
Depuis:
12.1

Définition à la ligne 1025 du fichier driver.php.

Références getVersion().

{
return version_compare($this->getVersion(), static::$dbMinimum) >= 0;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadAssoc ( )

Method to get the first row of the result set from the database query as an associative array of ['field_name' => 'row_value'].

Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1039 du fichier driver.php.

Références $cursor, connect(), execute(), fetchAssoc(), et freeResult().

{
$this->connect();
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get the first row from the result set as an associative array.
if ($array = $this->fetchAssoc($cursor))
{
$ret = $array;
}
// Free up system resources and return.
return $ret;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadAssocList (   $key = null,
  $column = null 
)

Method to get an array of the result set rows from the database query where each row is an associative array of ['field_name' => 'row_value']. The array of rows can optionally be keyed by a field name, but defaults to a sequential numeric array.

NOTE: Chosing to key the result array by a non-unique field name can result in unwanted behavior and should be avoided.

Paramètres:
string$keyThe name of a field on which to key the result array.
string$columnAn optional column name. Instead of the whole row, only this column value will be in the result array.
Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1080 du fichier driver.php.

Références $cursor, connect(), execute(), fetchAssoc(), et freeResult().

{
$this->connect();
$array = array();
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get all of the rows from the result set.
while ($row = $this->fetchAssoc($cursor))
{
$value = ($column) ? (isset($row[$column]) ? $row[$column] : $row) : $row;
if ($key)
{
$array[$row[$key]] = $value;
}
else
{
$array[] = $value;
}
}
// Free up system resources and return.
return $array;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadColumn (   $offset = 0)

Method to get an array of values from the $offset field in each row of the result set from the database query.

Paramètres:
integer$offsetThe row offset to use to build the result array.
Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1124 du fichier driver.php.

Références $cursor, $offset, connect(), execute(), fetchArray(), et freeResult().

{
$this->connect();
$array = array();
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get all of the rows from the result set as arrays.
while ($row = $this->fetchArray($cursor))
{
$array[] = $row[$offset];
}
// Free up system resources and return.
return $array;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadNextObject (   $class = 'stdClass')

Method to get the next row in the result set from the database query as an object.

Paramètres:
string$classThe class name to use for the returned row object.
Renvoie:
mixed The result of the query as an array, false if there are no more rows.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPdo.

Définition à la ligne 1158 du fichier driver.php.

Références $cursor, JLog\add(), connect(), execute(), fetchObject(), freeResult(), et JLog\WARNING.

{
JLog::add(__METHOD__ . '() is deprecated. Use JDatabase::getIterator() instead.', JLog::WARNING, 'deprecated');
$this->connect();
static $cursor = null;
// Execute the query and get the result set cursor.
if ( is_null($cursor) )
{
if (!($cursor = $this->execute()))
{
return $this->errorNum ? null : false;
}
}
// Get the next row from the result set as an object of type $class.
if ($row = $this->fetchObject($cursor, $class))
{
return $row;
}
// Free up system resources and return.
$cursor = null;
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadNextRow ( )

Method to get the next row in the result set from the database query as an array.

Renvoie:
mixed The result of the query as an array, false if there are no more rows.
Depuis:
11.1
Exceptions:
RuntimeException
Obsolète:
N/A (CMS) Use JDatabaseDriver::getIterator() instead

Réimplémentée dans JDatabaseDriverPdo.

Définition à la ligne 1196 du fichier driver.php.

Références $cursor, JLog\add(), connect(), execute(), fetchArray(), freeResult(), et JLog\WARNING.

{
JLog::add('JDatabaseDriver::loadNextRow() is deprecated. Use JDatabaseDriver::getIterator() instead.', JLog::WARNING, 'deprecated');
$this->connect();
static $cursor = null;
// Execute the query and get the result set cursor.
if ( is_null($cursor) )
{
if (!($cursor = $this->execute()))
{
return $this->errorNum ? null : false;
}
}
// Get the next row from the result set as an object of type $class.
if ($row = $this->fetchArray($cursor))
{
return $row;
}
// Free up system resources and return.
$cursor = null;
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadObject (   $class = 'stdClass')

Method to get the first row of the result set from the database query as an object.

Paramètres:
string$classThe class name to use for the returned row object.
Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1235 du fichier driver.php.

Références $cursor, connect(), execute(), fetchObject(), et freeResult().

{
$this->connect();
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get the first row from the result set as an object of type $class.
if ($object = $this->fetchObject($cursor, $class))
{
$ret = $object;
}
// Free up system resources and return.
return $ret;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadObjectList (   $key = '',
  $class = 'stdClass' 
)

Method to get an array of the result set rows from the database query where each row is an object. The array of objects can optionally be keyed by a field name, but defaults to a sequential numeric array.

NOTE: Choosing to key the result array by a non-unique field name can result in unwanted behavior and should be avoided.

Paramètres:
string$keyThe name of a field on which to key the result array.
string$classThe class name to use for the returned row objects.
Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1274 du fichier driver.php.

Références $cursor, connect(), execute(), fetchObject(), et freeResult().

{
$this->connect();
$array = array();
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get all of the rows from the result set as objects of type $class.
while ($row = $this->fetchObject($cursor, $class))
{
if ($key)
{
$array[$row->$key] = $row;
}
else
{
$array[] = $row;
}
}
// Free up system resources and return.
return $array;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadResult ( )

Method to get the first field of the first row of the result set from the database query.

Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverSqlsrv.

Définition à la ligne 1313 du fichier driver.php.

Références $cursor, connect(), execute(), fetchArray(), et freeResult().

{
$this->connect();
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get the first row from the result set as an array.
if ($row = $this->fetchArray($cursor))
{
$ret = $row[0];
}
// Free up system resources and return.
return $ret;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadRow ( )

Method to get the first row of the result set from the database query as an array. Columns are indexed numerically so the first column in the result set would be accessible via $row[0], etc.

Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1346 du fichier driver.php.

Références $cursor, connect(), execute(), fetchArray(), et freeResult().

{
$this->connect();
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get the first row from the result set as an array.
if ($row = $this->fetchArray($cursor))
{
$ret = $row;
}
// Free up system resources and return.
return $ret;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::loadRowList (   $key = null)

Method to get an array of the result set rows from the database query where each row is an array. The array of objects can optionally be keyed by a field offset, but defaults to a sequential numeric array.

NOTE: Choosing to key the result array by a non-unique field can result in unwanted behavior and should be avoided.

Paramètres:
string$keyThe name of a field on which to key the result array.
Renvoie:
mixed The return value or null if the query failed.
Depuis:
11.1
Exceptions:
RuntimeException

Définition à la ligne 1384 du fichier driver.php.

Références $cursor, connect(), execute(), fetchArray(), et freeResult().

{
$this->connect();
$array = array();
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get all of the rows from the result set as arrays.
while ($row = $this->fetchArray($cursor))
{
if ($key !== null)
{
$array[$row[$key]] = $row;
}
else
{
$array[] = $row;
}
}
// Free up system resources and return.
return $array;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::lockTable (   $tableName)
abstract

Locks a table in the database.

Paramètres:
string$tableNameThe name of the table to unlock.
Renvoie:
JDatabaseDriver Returns this object to support chaining.
Depuis:
11.4
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::quote (   $text,
  $escape = true 
)

Quotes and optionally escapes a string to database requirements for use in database queries.

Paramètres:
mixed$textA string or an array of strings to quote.
boolean$escapeTrue (default) to escape the string, false to leave it unchanged.
Renvoie:
string The quoted input string.
Note:
Accepting an array of strings was added in 12.3.
Depuis:
11.1

Définition à la ligne 1438 du fichier driver.php.

Références escape().

Référencé par __call(), insertObject(), et updateObject().

{
if (is_array($text))
{
foreach ($text as $k => $v)
{
$text[$k] = $this->quote($v, $escape);
}
return $text;
}
else
{
return '\'' . ($escape ? $this->escape($text) : $text) . '\'';
}
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::quoteName (   $name,
  $as = null 
)

Wrap an SQL statement identifier name such as column, table or database names in quotes to prevent injection risks and reserved word conflicts.

Paramètres:
mixed$nameThe identifier name to wrap in quotes, or an array of identifier names to wrap in quotes. Each type supports dot-notation name.
mixed$asThe AS query part associated to $name. It can be string or array, in latter case it has to be same length of $name; if is null there will not be any AS part for string or array element.
Renvoie:
mixed The quote wrapped name, same type of $name.
Depuis:
11.1

Définition à la ligne 1468 du fichier driver.php.

Références $count, $name, et quoteNameStr().

Référencé par __call(), getAlterDbCharacterSet(), getCreateDatabaseQuery(), insertObject(), truncateTable(), et updateObject().

{
if (is_string($name))
{
$quotedName = $this->quoteNameStr(explode('.', $name));
$quotedAs = '';
if (!is_null($as))
{
settype($as, 'array');
$quotedAs .= ' AS ' . $this->quoteNameStr($as);
}
return $quotedName . $quotedAs;
}
else
{
$fin = array();
if (is_null($as))
{
foreach ($name as $str)
{
$fin[] = $this->quoteName($str);
}
}
elseif (is_array($name) && (count($name) == count($as)))
{
$count = count($name);
for ($i = 0; $i < $count; $i++)
{
$fin[] = $this->quoteName($name[$i], $as[$i]);
}
}
return $fin;
}
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::quoteNameStr (   $strArr)
protected

Quote strings coming from quoteName call.

Paramètres:
array$strArrArray of strings coming from quoteName dot-explosion.
Renvoie:
string Dot-imploded string of quoted parts.
Depuis:
11.3

Définition à la ligne 1518 du fichier driver.php.

Références $nameQuote.

Référencé par quoteName().

{
$parts = array();
foreach ($strArr as $part)
{
if (is_null($part))
{
continue;
}
if (strlen($q) == 1)
{
$parts[] = $q . $part . $q;
}
else
{
$parts[] = $q{0} . $part . $q{1};
}
}
return implode('.', $parts);
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::renameTable (   $oldTable,
  $newTable,
  $backup = null,
  $prefix = null 
)
abstract

Renames a table in the database.

Paramètres:
string$oldTableThe name of the table to be renamed
string$newTableThe new name for the table.
string$backupTable prefix
string$prefixFor the table - used to rename constraints in non-mysql databases
Renvoie:
JDatabaseDriver Returns this object to support chaining.
Depuis:
11.4
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverSqlsrv, JDatabaseDriverPostgresql, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::replacePrefix (   $sql,
  $prefix = '#__' 
)

This function replaces a string identifier $prefix with the string held is the tablePrefix class variable.

Paramètres:
string$sqlThe SQL statement to prepare.
string$prefixThe common table prefix.
Renvoie:
string The processed SQL statement.
Depuis:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, et JDatabaseDriverOracle.

Définition à la ligne 1554 du fichier driver.php.

Références $sql, et getPrefix().

{
/*
* Pattern is: find any non-quoted (which is not including single or double quotes) string being the prefix
* in $sql possibly followed by a double or single quoted one:
* (
* not including quotes:
* positive lookahead: (?=
* not including " or ': [^"\']+
* )
* including exactly the prefix to replace: preg_quote( $prefix, '/' )
* )(
* Followed by a double-quoted: "(?:[^\\"]|\\.)*"
* Or: |
* single-quoted: \'(?:[^\\\']|\\.)*\'
* )
* possibly: ?
* $pattern = '/((?=[^"\']+)' . preg_quote($prefix, '/') . ')("(?:[^\\"]|\\.)*"|\'(?:[^\\\']|\\.)*\')?/';
*/
$pattern = '/(?<=[^"\'])(' . preg_quote($prefix, '/') . ')("(?:[^\\\\"]|\.)*"|\'(?:[^\\\\\']|\.)*\')?/';
return preg_replace($pattern, $this->getPrefix() . '\\2', $sql);
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::select (   $database)
abstract

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:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, JDatabaseDriverMysql, et JDatabaseDriverSqlite.

JDatabaseDriver::setDebug (   $level)

Sets the database debugging state for the driver.

Paramètres:
boolean$levelTrue to enable debugging.
Renvoie:
boolean The old debugging level.
Depuis:
11.1

Définition à la ligne 1614 du fichier driver.php.

Références $debug.

{
$previous = $this->debug;
$this->debug = (bool) $level;
return $previous;
}
JDatabaseDriver::setQuery (   $query,
  $offset = 0,
  $limit = 0 
)

Sets the SQL statement string for later execution.

Paramètres:
mixed$queryThe SQL statement to set either as a JDatabaseQuery object or a string.
integer$offsetThe affected row offset to set.
integer$limitThe maximum affected rows to set.
Renvoie:
JDatabaseDriver This object to support method chaining.
Depuis:
11.1

Définition à la ligne 1633 du fichier driver.php.

Références $limit, et $offset.

Référencé par alterDbCharacterSet(), createDatabase(), insertObject(), truncateTable(), et updateObject().

{
$this->sql = $query;
if ($query instanceof JDatabaseQueryLimitable)
{
$query->setLimit($limit, $offset);
}
else
{
$this->limit = (int) max(0, $limit);
$this->offset = (int) max(0, $offset);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::setUTF ( )
abstract

Set the connection to use UTF-8 character encoding.

Renvoie:
boolean True on success.
Depuis:
11.1

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, JDatabaseDriverMysql, et JDatabaseDriverSqlite.

static JDatabaseDriver::splitSql (   $sql)
static

Splits a string of multiple queries into an array of individual queries.

Paramètres:
string$sqlInput SQL string with which to split into individual queries.
Renvoie:
array The queries from the input string separated into an array.
Depuis:
11.1

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

Définition à la ligne 304 du fichier driver.php.

Références $sql.

Référencé par JDatabase\splitSql().

{
$start = 0;
$open = false;
$char = '';
$end = strlen($sql);
$queries = array();
for ($i = 0; $i < $end; $i++)
{
$current = substr($sql, $i, 1);
if (($current == '"' || $current == '\''))
{
$n = 2;
while (substr($sql, $i - $n + 1, 1) == '\\' && $n < $i)
{
$n++;
}
if ($n % 2 == 0)
{
if ($open)
{
if ($current == $char)
{
$open = false;
$char = '';
}
}
else
{
$open = true;
$char = $current;
}
}
}
if (($current == ';' && !$open) || $i == $end - 1)
{
$queries[] = substr($sql, $start, ($i - $start + 1));
$start = $i + 1;
}
}
return $queries;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseDriver::transactionCommit (   $toSavepoint = false)
abstract

Method to commit a transaction.

Paramètres:
boolean$toSavepointIf true, commit to the last savepoint.
Renvoie:
void
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::transactionRollback (   $toSavepoint = false)
abstract

Method to roll back a transaction.

Paramètres:
boolean$toSavepointIf true, rollback to the last savepoint.
Renvoie:
void
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::transactionStart (   $asSavepoint = false)
abstract

Method to initialize a transaction.

Paramètres:
boolean$asSavepointIf true and a transaction is already active, a savepoint will be created.
Renvoie:
void
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverPdo, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::truncateTable (   $table)

Method to truncate a table.

Paramètres:
string$tableThe table to truncate
Renvoie:
void
Depuis:
11.3
Exceptions:
RuntimeException

Définition à la ligne 1705 du fichier driver.php.

Références execute(), quoteName(), et setQuery().

{
$this->setQuery('TRUNCATE TABLE ' . $this->quoteName($table));
$this->execute();
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriver::unlockTables ( )
abstract

Unlocks tables in the database.

Renvoie:
JDatabaseDriver Returns this object to support chaining.
Depuis:
11.4
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql, JDatabaseDriverSqlsrv, JDatabaseDriverMysqli, JDatabaseDriverOracle, et JDatabaseDriverSqlite.

JDatabaseDriver::updateObject (   $table,
$object,
  $key,
  $nulls = false 
)

Updates a row in a table based on an object's properties.

Paramètres:
string$tableThe name of the database table to update.
object&$objectA reference to an object whose public properties match the table fields.
array$keyThe name of the primary key.
boolean$nullsTrue to update null fields or false to ignore them.
Renvoie:
boolean True on success.
Depuis:
11.1
Exceptions:
RuntimeException

Réimplémentée dans JDatabaseDriverPostgresql.

Définition à la ligne 1724 du fichier driver.php.

Références execute(), quote(), quoteName(), et setQuery().

{
$fields = array();
$where = array();
if (is_string($key))
{
$key = array($key);
}
if (is_object($key))
{
$key = (array) $key;
}
// Create the base update statement.
$statement = 'UPDATE ' . $this->quoteName($table) . ' SET %s WHERE %s';
// Iterate over the object variables to build the query fields/value pairs.
foreach (get_object_vars($object) as $k => $v)
{
// Only process scalars that are not internal fields.
if (is_array($v) or is_object($v) or $k[0] == '_')
{
continue;
}
// Set the primary key to the WHERE clause instead of a field to update.
if (in_array($k, $key))
{
$where[] = $this->quoteName($k) . '=' . $this->quote($v);
continue;
}
// Prepare and sanitize the fields and values for the database query.
if ($v === null)
{
// If the value is null and we want to update nulls then set it.
if ($nulls)
{
$val = 'NULL';
}
// If the value is null and we do not want to update nulls then ignore this field.
else
{
continue;
}
}
// The field is not null so we prep it for update.
else
{
$val = $this->quote($v);
}
// Add the field to be updated.
$fields[] = $this->quoteName($k) . '=' . $val;
}
// We don't have any fields to update.
if (empty($fields))
{
return true;
}
// Set the query and execute the update.
$this->setQuery(sprintf($statement, implode(",", $fields), implode(' AND ', $where)));
return $this->execute();
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

JDatabaseDriver::$_database
private

Définition à la ligne 49 du fichier driver.php.

Référencé par getDatabase().

JDatabaseDriver::$callStacks = array()
protected

Définition à la ligne 105 du fichier driver.php.

Référencé par getCallStacks().

JDatabaseDriver::$connection
protected

Définition à la ligne 63 du fichier driver.php.

Référencé par getConnection().

JDatabaseDriver::$count = 0
protected

Définition à la ligne 69 du fichier driver.php.

Référencé par getCount(), et quoteName().

JDatabaseDriver::$cursor
protected
JDatabaseDriver::$dbMinimum
staticprotected

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverSqlsrv, et JDatabaseDriverPostgresql.

Définition à la ligne 177 du fichier driver.php.

Référencé par getMinimum().

JDatabaseDriver::$debug = false
protected

Définition à la ligne 81 du fichier driver.php.

Référencé par setDebug().

JDatabaseDriver::$disconnectHandlers = array()
protected

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

JDatabaseDriver::$errorMsg
protected

Définition à la ligne 165 du fichier driver.php.

JDatabaseDriver::$errorNum = 0
protected

Définition à la ligne 158 du fichier driver.php.

JDatabaseDriver::$instances = array()
staticprotected

Définition à la ligne 171 du fichier driver.php.

JDatabaseDriver::$limit = 0
protected

Définition à la ligne 87 du fichier driver.php.

Référencé par setQuery().

JDatabaseDriver::$log = array()
protected

Définition à la ligne 93 du fichier driver.php.

Référencé par getLog().

JDatabaseDriver::$nameQuote
protected
JDatabaseDriver::$nullDate
protected

Réimplémentée dans JDatabaseDriverMysqli, JDatabaseDriverPdo, JDatabaseDriverSqlsrv, et JDatabaseDriverPostgresql.

Définition à la ligne 121 du fichier driver.php.

Référencé par getNullDate().

JDatabaseDriver::$offset = 0
protected

Définition à la ligne 127 du fichier driver.php.

Référencé par loadColumn(), et setQuery().

JDatabaseDriver::$options
protected

Définition à la ligne 133 du fichier driver.php.

Référencé par __construct(), createDatabase(), getCreateDatabaseQuery(), et getInstance().

JDatabaseDriver::$sql
protected

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

Référencé par getQuery(), replacePrefix(), et splitSql().

JDatabaseDriver::$tablePrefix
protected

Définition à la ligne 145 du fichier driver.php.

Référencé par getPrefix().

JDatabaseDriver::$timings = array()
protected

Définition à la ligne 99 du fichier driver.php.

Référencé par getTimings().

JDatabaseDriver::$transactionDepth = 0
protected

Définition à la ligne 183 du fichier driver.php.

JDatabaseDriver::$utf = true
protected

Définition à la ligne 151 du fichier driver.php.

Référencé par createDatabase(), getCreateDatabaseQuery(), et hasUTFSupport().


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