Source for file mysql.php
Documentation is available at mysql.php
* @package Joomla.Platform
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
* @package Joomla.Platform
* @see http://dev.mysql.com/doc/
* The name of the database driver.
* @param array $options Array of database options with keys: host, user, password, database, select.
// 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.
* Connects to the database if needed.
* @return void Returns void if the database connected successfully.
* @throws RuntimeException
// Make sure the MySQL extension for PHP is installed and enabled.
throw
new RuntimeException('Could not connect to MySQL.');
// Attempt to connect to the server.
throw
new RuntimeException('Could not connect to MySQL.');
// Set sql_mode to non_strict mode
// If auto-select is enabled select the given database.
// Set charactersets (needed for MySQL 4.1.2+).
// Turn MySQL profiling ON in debug mode:
if ($this->debug &&
$this->hasProfiling())
* Disconnects the database.
* Method to escape a string for usage in an SQL statement.
* @param string $text The string to be escaped.
* @param boolean $extra Optional parameter to provide extra escaping.
* @return string The escaped string.
public function escape($text, $extra =
false)
* Test to see if the MySQL connector is available.
* @return boolean True on success, false otherwise.
* Determines if the connection to the server is active.
* @return boolean True if connected to the database engine.
* Get the number of affected rows for the previous executed SQL statement.
* @return integer The number of affected rows.
* Get the number of returned rows for the previous executed SQL statement.
* @param resource $cursor An optional database cursor resource to extract the row count from.
* @return integer The number of returned rows.
* Get the version of the database connector.
* @return string The database connector version.
* Method to get the auto-incremented value from the last INSERT statement.
* @return integer The value of the auto-increment field from the last inserted row.
* Execute the SQL statement.
* @return mixed A database cursor resource on success, boolean false on failure.
* @throws RuntimeException
// Take a local copy so that we don't modify the original query and cause issues later
$query .=
' LIMIT ' .
$this->offset .
', ' .
$this->limit;
// Increment the query counter.
// Reset the error values.
// If debugging is enabled then let's log the query.
// Add the query to the object queue.
// Execute the query. Error suppression is used here to prevent warnings/notices that the connection has been lost.
if (defined('DEBUG_BACKTRACE_IGNORE_ARGS'))
// If an error occurred handle it.
// Check if the server was disconnected.
// If connect fails, ignore that exception and throw the normal exception.
catch
(RuntimeException $e)
// Get the error number and message.
// Throw the normal query exception.
// Since we were able to reconnect, run the query again.
// The server was not disconnected.
// Get the error number and message.
// Throw the normal query exception.
* Select a database for use.
* @param string $database The name of the database to select for use.
* @return boolean True if the database was successfully selected.
* @throws RuntimeException
public function select($database)
throw
new RuntimeException('Could not connect to database');
* Set the connection to use UTF-8 character encoding.
* @return boolean True on success.
* Method to fetch a row from the result set cursor as an array.
* @param mixed $cursor The optional result set cursor from which to fetch the row.
* @return mixed Either the next row from the result set or false if there are no more rows.
* Method to fetch a row from the result set cursor as an associative array.
* @param mixed $cursor The optional result set cursor from which to fetch the row.
* @return mixed Either the next row from the result set or false if there are no more rows.
* Method to fetch a row from the result set cursor as an object.
* @param mixed $cursor The optional result set cursor from which to fetch the row.
* @param string $class The class name to use for the returned row object.
* @return mixed Either the next row from the result set or false if there are no more rows.
protected function fetchObject($cursor =
null, $class =
'stdClass')
* Method to free up the memory used for the result set.
* @param mixed $cursor The optional result set cursor from which to fetch the row.
* Internal function to check if profiling is available
private function hasProfiling()
Documentation generated on Tue, 19 Nov 2013 15:09:09 +0100 by phpDocumentor 1.4.3